<script>
var audio1 = document.getElementById('bgm_188');
var audio2 = document.getElementById('bgm_135');
if (audio1 && audio2 && window.bgmState !== 'main') {
window.bgmState = 'main';
// 135 缓慢淡出
var fadeOut2 = setInterval(function() {
if (audio2.volume > 0.05) {
audio2.volume = Math.max(0, audio2.volume - 0.03);
} else {
audio2.volume = 0;
audio2.pause();
clearInterval(fadeOut2);
}
}, 300);
}
</script>
<style>tw-sidebar{display:none!important;}</style>
<style>
.main-container {
max-width: 680px;
margin: 0 auto;
padding: 1.5em 2em;
border: 1px solid rgba(201, 169, 110, 0.15);
background: rgba(0, 0, 0, 0.15);
border-radius: 4px;
position: relative;
}
.main-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 4px;
}
.main-title {
text-align: center;
font-size: 1.6em;
letter-spacing: 6px;
color: #c9a96e;
margin-top: 0.2em;
margin-bottom: 0.8em;
font-weight: normal;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.8em;
}
.main-text {
color: #ccd4dc;
line-height: 1.9;
font-size: 1.05em;
padding-left: 1.2em;
}
.main-text .highlight {
color: #c9a96e;
}
.main-text .dim {
color: #667788;
font-size: 0.9em;
}
.divider-line {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.8em;
}
.menu-item {
display: block;
padding: 0.6em 1.2em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.1);
color: #aabbcc;
text-decoration: none;
transition: all 0.3s ease;
font-size: 0.95em;
letter-spacing: 1px;
}
.menu-item:hover {
border-left-color: rgba(201, 169, 110, 0.5);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
padding-left: 1.6em;
}
.menu-number {
color: #445566;
font-size: 0.7em;
letter-spacing: 2px;
margin-right: 0.8em;
}
.menu-item .replay-tag {
font-size: 0.55em;
color: #445566;
letter-spacing: 2px;
margin-left: 0.6em;
font-weight: 300;
transition: all 0.3s ease;
}
.menu-item:hover .replay-tag {
color: #667788;
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="main-container">
<div class="main-title">银丘酒庄 · 雨夜未归人</div>
<div class="main-text">
雨还在下。
你坐在蒋易曾经坐过的位置上。桌面上摊着一沓财务流水单据、一本晚宴登记簿、一支没拧紧笔帽的钢笔。
你翻开卷宗第一页,在抬头栏里写下你的名字
<span class="highlight">—— 侦缉警员 天宇·托比</span>
</div>
<div class="divider-line">· · ·</div>
<div class="main-text" style="font-size: 0.85em; color: #667788; text-align: center; margin-bottom: 1.5em; padding-left: 0;">
案件编号:98-1026 | 苏塞克斯 · 一九九八
</div>
<div class="menu-item">
<span class="menu-number">00</span> (link:"重温前传")[(goto:"案件前传_1")]
<span class="replay-tag">— 帷幕 · The Curtain Rises —</span>
</div>
<div class="menu-item">
<span class="menu-number">01</span> (link:"前往地点实地勘查")[(goto:"实地勘查")]
<span class="replay-tag">— 残痕 · Where It Happened —</span>
</div>
<div class="menu-item">
<span class="menu-number">02</span> (link:"查阅线索档案室")[(goto:"线索档案室")]
<span class="replay-tag">— 尘封 · The Silent Archive —</span>
</div>
<div class="menu-item">
<span class="menu-number">03</span> (link:"交叉比对两份线索")[(goto:"交叉比对")]
<span class="replay-tag">— 织网 · Threads & Shadows —</span>
</div>
<div class="menu-item">
<span class="menu-number">04</span> (link:"提交证据锁定凶手")[(goto:"提交指控")]
<span class="replay-tag">— 真相 · The Reckoning —</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
font-size: 0.85em;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 产权证明 ╱</span>
<span class="doc-badge">DEED · 1985</span>
</div>
<div class="doc-paper">
<div class="doc-headline">银丘酒庄 · 土地所有权证书</div>
<div class="doc-body">
<span class="field">地块编号:</span>SG-47-21<br>
<span class="field">地块名称:</span><span class="gold">银丘庄园</span><br>
<span class="field">土地面积:</span>84.6 英亩<br>
<span class="field">土地用途:</span>葡萄种植 · 农业 · 商业<br>
<span class="field">持有人:</span><span class="gold">李氏家族 · 朵蒂·李</span><br>
<span class="field">首次登记:</span>1985年4月12日<br>
<span class="field">权利状态:</span><span style="color: #445566;">无抵押登记</span>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 该地块在1996年曾有一笔银行抵押登记,已于1997年注销。<br>
◈ 抵押登记与马库斯集团同期的一笔贷款时间吻合。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回书房]")[(goto:"勘查_书房")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .red {
color: #c96e6e;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 催款回执 ╱</span>
<span class="doc-badge">DEBT · 1998</span>
</div>
<div class="doc-paper">
<div class="doc-headline">马库斯集团 · 拖欠货款记录</div>
<div class="doc-body">
<span class="field">发票编号:</span>INV-98-031<br>
<span class="field">日期:</span>1998年6月15日<br>
<span class="field">金额:</span><span class="gold">£47,800</span><br>
<span class="field">状态:</span><span class="red">逾期 · 无还款记录</span><br>
<span class="field">备注:</span>连续六次催款,未获回应
<div style="margin: 0.8em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">发票编号:</span>INV-98-047<br>
<span class="field">日期:</span>1998年7月22日<br>
<span class="field">金额:</span><span class="gold">£23,200</span><br>
<span class="field">状态:</span><span class="red">逾期 · 无还款记录</span>
<div style="margin: 0.8em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">发票编号:</span>INV-98-063<br>
<span class="field">日期:</span>1998年8月30日<br>
<span class="field">金额:</span><span class="gold">£91,500</span><br>
<span class="field">状态:</span><span class="red">逾期 · 无还款记录</span>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 总额:£162,500<br>
◈ 所有催款回执均无还款签字或支付凭证。<br>
◈ 马库斯集团在1998年9月曾有一笔等额资金流入银丘酒庄账目,标注为"市场推广费"。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回书房]")[(goto:"勘查_书房")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .audit-notes {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .audit-notes .entry {
padding: 0.3em 0.8em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .audit-notes .entry .year {
color: #c9a96e;
font-weight: 400;
}
.doc-paper .audit-notes .entry .amount {
color: #c9a96e;
}
.doc-paper .audit-notes .entry .desc {
color: #667788;
font-size: 0.85em;
}
.doc-paper .audit-notes .footnote {
font-size: 0.7em;
color: #445566;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.4em;
margin-top: 0.6em;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 审计批注 ╱</span>
<span class="doc-badge">AUDIT · 1996-1998</span>
</div>
<div class="doc-paper">
<div class="doc-headline">嘉诚·菲茨威廉 · 账目批注</div>
<div class="audit-notes">
<div class="entry">
<span class="year">1996 · 第3季度</span><br>
<span class="desc">葡萄园设备采购款</span> —— 账面支出:<span class="amount">£23,000</span><br>
<span style="color: #445566; font-size: 0.8em;">实际支出:£8,200(差额去向不明)</span>
</div>
<div class="entry">
<span class="year">1997 · 第1季度</span><br>
<span class="desc">品鉴晚宴筹备经费</span> —— 账面支出:<span class="amount">£47,500</span><br>
<span style="color: #445566; font-size: 0.8em;">实际支出:£12,000(差额转入马库斯集团账户)</span>
</div>
<div class="entry">
<span class="year">1998 · 第2季度</span><br>
<span class="desc">税务调整专项款</span> —— 账面支出:<span class="amount">£203,400</span><br>
<span style="color: #445566; font-size: 0.8em;">该笔款项无对应服务记录,疑似资金转移。</span>
</div>
<div class="footnote">
◈ 批注由嘉诚·菲茨威廉手写。<br>
◈ 边缘有铅笔标注:"与马库斯账目核对,差额约 £180,000"。<br>
◈ 该笔记被夹在保险箱最底层,未与其他文件一同归档。
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回书房]")[(goto:"勘查_书房")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 租赁合约 ╱</span>
<span class="doc-badge">LEASE · 1995</span>
</div>
<div class="doc-paper">
<div class="doc-headline">马场土地租赁合约</div>
<div class="doc-body">
<span class="field">合约编号:</span>LS-95-034<br>
<span class="field">出租方:</span><span class="gold">李氏家族 · 银丘庄园</span><br>
<span class="field">承租方:</span>苏塞克斯马术协会<br>
<span class="field">租赁地块:</span>银丘庄园 · 东翼牧场<br>
<span class="field">面积:</span>12.3 英亩<br>
<span class="field">租赁期限:</span>1995年6月 — 2000年6月<br>
<span class="field">年租金:</span>£6,200
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 该租金远低于同期市场价(市场均价约 £9,500/年)。<br>
◈ 差价部分未在酒庄任何账目中体现。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回书房]")[(goto:"勘查_书房")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');
.photo-container {
max-width: 720px;
margin: 0 auto;
padding: 2.5em 3em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeIn 0.8s ease;
}
.photo-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.photo-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.6em;
}
.photo-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 8px;
color: #c9a96e;
}
.photo-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #667788;
font-weight: 300;
margin-left: 0.8em;
}
.photo-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.photo-body .gold {
color: #c9a96e;
}
.photo-body .dim {
color: #445566;
}
.photo-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.photo-body .photo-paper {
padding: 1.8em 2.2em;
margin: 0.6em 0 1em 0;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
position: relative;
}
.photo-body .photo-paper .photo-front {
text-align: center;
font-family: 'Playfair Display', serif;
font-size: 0.9em;
color: #aabbcc;
line-height: 2.2;
}
.photo-body .photo-paper .photo-front .caption {
font-size: 0.75em;
color: #667788;
letter-spacing: 2px;
}
.photo-body .photo-paper .photo-back {
font-family: 'Playfair Display', serif;
font-size: 0.95em;
color: #ccd4dc;
line-height: 2.2;
font-style: italic;
border-top: 1px solid rgba(201, 169, 110, 0.06);
padding-top: 1em;
margin-top: 1em;
}
.photo-body .photo-paper .photo-back .signature {
text-align: right;
color: #c9a96e;
font-style: normal;
letter-spacing: 2px;
margin-top: 0.6em;
}
.photo-body .achievement-box {
padding: 0.6em 1.2em;
margin: 0.8em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 3px;
text-align: center;
font-size: 0.8em;
color: #667788;
letter-spacing: 3px;
}
.photo-body .achievement-box .gold {
color: #c9a96e;
}
.photo-body .btn-return {
display: inline-block;
padding: 0.3em 2em;
border: 1px solid rgba(201, 169, 110, 0.12);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.75em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.photo-body .btn-return:hover {
border-color: rgba(201, 169, 110, 0.25);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.photo-body .btn-return tw-link {
color: #667788 !important;
}
.photo-body .btn-return:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="photo-container">
<div class="photo-header">
<span class="photo-title">
╲ 裂痕 ╱
<span class="photo-title-eng">— CRACK —</span>
</span>
</div>
<div class="photo-body">
保险箱最底层,掉出一张被撕碎又粘回去的旧照片。
<div class="photo-paper">
<div class="photo-front">
◈ ◈ ◈
<br><br>
两个穿警校制服的年轻人,站在苏塞克斯警署门口。
<br>
左边是蒋易,右边是嘉诚。两人都在笑。
<br><br>
<span class="caption">—— 1992.06 · 毕业 ——</span>
</div>
<div class="photo-back">
我签了那些账,但每次签的时候都在想,
<br>
你跟我说过的那句话——
<br><br>
<span style="color: #c9a96e;">"嘉诚,你比我正直。"</span>
<br><br>
你查到我头上的时候,我本来想跟你说的。
<br>
但我没说。
<br><br>
<span style="color: #667788;">对不起,易哥。</span>
我后来选错了
<br>
<div class="signature">—— 嘉诚</div>
</div>
</div>
<div class="divider-dash">· · ·</div>
<div class="achievement-box">
◈ 已解锁成就 <span class="gold">「裂痕」</span>
</div>
<div style="text-align: center; margin-top: 1.2em;">
<span class="btn-return">(link:"[收起照片,回到书房]")[(goto:"勘查_书房")]</span>
</div>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.cross-container {
max-width: 720px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.cross-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.cross-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.cross-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 6px;
color: #c9a96e;
}
.cross-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.cross-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.cross-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.cross-body .highlight {
color: #c9a96e;
}
.cross-body .dim {
color: #445566;
}
.cross-body .selection-area {
padding: 1.2em 1.6em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 3px;
}
.cross-body .selection-area .row {
display: flex;
align-items: center;
gap: 0.8em;
margin: 0.4em 0;
padding: 0.3em 0.4em;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
}
.cross-body .selection-area .row:last-child {
border-bottom: none;
}
.cross-body .selection-area .row .label {
color: #667788;
font-size: 0.75em;
letter-spacing: 2px;
min-width: 5em;
}
.cross-body .selection-area .row .dropdown-wrap {
flex: 1;
color: #aabbcc;
font-size: 0.85em;
}
.cross-body .btn-compare {
display: inline-block;
margin-top: 0.8em;
padding: 0.5em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.2);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.85em;
letter-spacing: 4px;
color: #8899aa;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.cross-body .btn-compare:hover {
border-color: rgba(201, 169, 110, 0.5);
color: #c9a96e;
background: rgba(201, 169, 110, 0.06);
}
.cross-body .btn-compare tw-link {
color: #8899aa !important;
}
.cross-body .btn-compare:hover tw-link {
color: #c9a96e !important;
}
.cross-body .status-box {
padding: 0.6em 1.2em;
margin: 0.6em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
}
.cross-body .status-box .missing-list {
font-size: 0.8em;
color: #667788;
letter-spacing: 1px;
}
.cross-body .status-box .missing-list .num {
color: #445566;
}
.cross-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.cross-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.cross-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.cross-back tw-link {
color: #667788 !important;
}
.cross-back:hover tw-link {
color: #c9a96e !important;
}
</style>
<div class="cross-container">
<div class="cross-header">
<span class="cross-title">
╲ 交叉比对 ╱
<span class="cross-title-eng">— EVIDENCE MATRIX</span>
</span>
<span class="cross-badge">CROSS-REF</span>
</div>
<div class="cross-body">
<!-- 计算是否就绪 -->
(set: $all_ready to 0)
(if: $clue001 is 1 and $clue003 is 1 and $clue004 is 1 and $clue005 is 1 and $clue006 is 1 and $clue008 is 1 and $clue009 is 1 and $clue010 is 1 and $clue011 is 1 and $clue012 is 1 and $clue013 is 1 and $clue014 is 1 and $clue017 is 1 and $clue020 is 1 and $clue021 is 1)[
(set: $all_ready to 1)
]
(if: $all_ready is 1)[
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px;">◆ 系统就绪 · 档案库已完整</span>
<div class="divider-dash">· · ·</div>
<div style="font-size: 0.85em; color: #8899aa; margin-bottom: 0.6em;">
选择两份档案进行交叉比对,寻找隐藏的关联。
</div>
<div class="selection-area">
<div class="row">
<span class="label">档案 A</span>
<span class="dropdown-wrap">
(dropdown: bind $choice1, "请选择",
"001 马库斯集团财务造假流水单据",
"003 红酒专栏品鉴手稿复印件",
"004 黑色厚框眼镜物证记录",
"005 死者初步尸检报告",
"006 已故园丁手写日记原件",
"008 小瓶指纹提取报告",
"009 朵蒂与莱昂·吕私人邮件",
"010 冰毛巾凶器残留物证记录",
"011 马库斯与朵蒂私人邮件",
"012 酒馆店主书面传闻证词",
"013 马库斯酒馆消费台账",
"014 未刊发负面专栏底稿",
"017 酒保威尔审讯笔录",
"020 往年积压旧案封存残卷",
"021 莱昂·吕案件驳回签字记录"
)
</span>
</div>
<div class="row">
<span class="label">档案 B</span>
<span class="dropdown-wrap">
(dropdown: bind $choice2, "请选择",
"001 马库斯集团财务造假流水单据",
"003 红酒专栏品鉴手稿复印件",
"004 黑色厚框眼镜物证记录",
"005 死者初步尸检报告",
"006 已故园丁手写日记原件",
"008 小瓶指纹提取报告",
"009 朵蒂与莱昂·吕私人邮件",
"010 冰毛巾凶器残留物证记录",
"011 马库斯与朵蒂私人邮件",
"012 酒馆店主书面传闻证词",
"013 马库斯酒馆消费台账",
"014 未刊发负面专栏底稿",
"017 酒保威尔审讯笔录",
"020 往年积压旧案封存残卷",
"021 莱昂·吕案件驳回签字记录"
)
</span>
</div>
</div>
<div style="text-align: center;">
<span class="btn-compare">(link:"⧫ 执行比对")[(goto:"执行比对")]</span>
</div>
](else:)[
<span style="color: #445566; font-size: 0.75em; letter-spacing: 2px;">◆ 系统未就绪</span>
<div class="divider-dash">· · ·</div>
<div class="status-box">
<span style="color: #667788; font-size: 0.85em;">部分核心档案缺失,无法启动交叉比对。</span>
<div class="missing-list">
缺失编号:<span class="num">(if: $clue001 is 0)[001 ](if: $clue003 is 0)[003 ](if: $clue004 is 0)[004 ](if: $clue005 is 0)[005 ](if: $clue006 is 0)[006 ](if: $clue008 is 0)[008 ](if: $clue009 is 0)[009 ](if: $clue010 is 0)[010 ](if: $clue011 is 0)[011 ](if: $clue012 is 0)[012 ](if: $clue013 is 0)[013 ](if: $clue014 is 0)[014 ](if: $clue017 is 0)[017 ](if: $clue020 is 0)[020 ](if: $clue021 is 0)[021 ]</span>
</div>
</div>
]
</div>
<div class="cross-footer">
<span class="cross-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div><style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.study-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.study-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.study-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.study-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.study-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.study-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.study-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.study-meta span {
color: #667788;
}
.study-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.study-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.study-body .highlight {
color: #c9a96e;
}
.study-body .dim {
color: #445566;
}
.study-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #8899aa;
letter-spacing: 3px;
margin: 1.4em 0 0.4em 0;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.study-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.mail-envelope {
padding: 0.8em 1.4em;
margin: 0.2em 0 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 2px;
position: relative;
}
.mail-envelope::before {
content: "✧";
position: absolute;
top: -0.4em;
right: 0.8em;
color: #445566;
font-size: 0.6em;
letter-spacing: 4px;
}
.mail-envelope .mail-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.3em;
margin-bottom: 0.5em;
}
.mail-envelope .mail-from {
font-size: 0.6em;
color: #445566;
letter-spacing: 2px;
text-transform: uppercase;
}
.mail-envelope .mail-to {
font-size: 0.6em;
color: #445566;
letter-spacing: 2px;
}
.mail-envelope .mail-subject {
font-size: 0.85em;
color: #c9a96e;
font-weight: 400;
letter-spacing: 1px;
margin: 0.2em 0 0.2em 0;
}
.mail-envelope .mail-body {
font-size: 0.85em;
color: #aabbcc;
line-height: 1.8;
padding-left: 0.4em;
border-left: 1px solid rgba(201, 169, 110, 0.04);
}
.mail-envelope .mail-body .gold {
color: #c9a96e;
}
.mail-envelope .mail-body .italic {
font-style: italic;
color: #8899aa;
}
.mail-envelope .mail-body .redacted {
color: #445566;
font-size: 0.7em;
letter-spacing: 2px;
background: rgba(0,0,0,0.2);
padding: 0.1em 0.4em;
border-radius: 2px;
}
.cabinet-item {
padding: 0.5em 1.2em;
margin: 0.3em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
font-size: 0.85em;
color: #aabbcc;
line-height: 1.8;
transition: all 0.3s ease;
cursor: pointer;
}
.cabinet-item:hover {
border-left-color: rgba(201, 169, 110, 0.2);
background: rgba(201, 169, 110, 0.04);
}
.cabinet-item .doc-name {
color: #c9a96e;
font-weight: 400;
}
.cabinet-item .doc-desc {
color: #667788;
font-size: 0.85em;
}
.cabinet-item .click-hint {
color: #445566;
font-size: 0.6em;
letter-spacing: 2px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.cabinet-item:hover .click-hint {
color: #c9a96e;
}
.safe-note {
padding: 0.5em 1.2em;
margin: 0.3em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-size: 0.85em;
color: #aabbcc;
line-height: 1.8;
transition: all 0.3s ease;
cursor: pointer;
}
.safe-note:hover {
border-left-color: rgba(201, 169, 110, 0.25);
background: rgba(201, 169, 110, 0.04);
}
.safe-note .name {
color: #c9a96e;
font-weight: 400;
}
.safe-note .click-hint {
color: #445566;
font-size: 0.6em;
letter-spacing: 2px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.safe-note:hover .click-hint {
color: #c9a96e;
}
.drawer-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
font-size: 0.85em;
color: #aabbcc;
line-height: 1.8;
transition: all 0.3s ease;
cursor: pointer;
}
.drawer-item:hover {
border-left-color: rgba(201, 169, 110, 0.2);
background: rgba(201, 169, 110, 0.04);
}
.drawer-item .amount {
color: #c9a96e;
font-weight: 400;
}
.drawer-item .status {
color: #445566;
font-size: 0.7em;
letter-spacing: 2px;
margin-left: 0.8em;
}
.drawer-item .click-hint {
color: #445566;
font-size: 0.6em;
letter-spacing: 2px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.drawer-item:hover .click-hint {
color: #c9a96e;
}
.study-scene-note {
font-size: 0.75em;
color: #445566;
letter-spacing: 1px;
margin-top: 0.8em;
padding-left: 0.4em;
border-top: 1px solid rgba(201, 169, 110, 0.03);
padding-top: 0.6em;
}
.study-scene-note .arrow {
color: #667788;
margin-right: 0.4em;
}
.study-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.study-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.study-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.study-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.study-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.study-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.study-clue-item .view-link:hover {
color: #c9a96e;
}
.study-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.study-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.study-back tw-link {
color: #667788 !important;
}
.study-back:hover tw-link {
color: #c9a96e !important;
}
.study-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.study-nav tw-link {
color: #667788 !important;
}
.study-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
.study-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
.interact-hint {
color: #445566;
font-size: 0.55em;
letter-spacing: 2px;
margin-left: 0.6em;
transition: all 0.3s ease;
}
.interact-hint:hover {
color: #c9a96e;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="study-container">
<div class="study-header">
<span class="study-title">
╲ 主人书房 ╱
<span class="study-title-eng">— STUDY</span>
</span>
<span class="study-badge">EVIDENCE · 05</span>
</div>
<div class="study-meta">
<span>记录人:见习警员 楠森·王</span>
<span>勘查时间:1998.10.27 11:20</span>
</div>
<div class="study-body">
(set: $clue009 to 0)
<span class="label">◆ 现场物证记录</span>
书房内的每一件物品都经过细致翻查。以下是锁定的关键物证:
</div>
<!-- ====== 加密邮件 ====== -->
<div class="study-body">
<div class="section-head">▼ 加密邮件</div>
</div>
<div class="mail-envelope">
<div class="mail-header">
<div class="mail-from">From: 朵蒂·李 [dottie.lee@silverhill-estate.co.uk]</div>
<div class="mail-to">To: 莱昂·吕 [leon.lyon@sussex.police.uk]</div>
<div class="mail-subject">Subject: 关于下周品鉴晚宴的账目安排</div>
</div>
<div class="mail-body">
<span style="color: #667788; font-size: 0.8em;">邮件内容涉及税务账目调整与非法回扣拆分。</span><br><br>
<span style="color: #667788; font-size: 0.8em;">详情见 <span class="gold">档案009</span></span>
</div>
</div>
<!-- ====== 隐藏文件柜 ====== -->
<div class="study-body">
<div class="section-head">▼ 隐藏文件柜</div>
</div>
<div class="cabinet-item">
<span class="doc-name">📄 家族产权证明</span>
<span class="doc-desc">— 银丘酒庄土地所有权文件</span>
<span class="click-hint">(link:"[打开]")[(goto:"书房_产权证明")]</span>
</div>
<div class="cabinet-item">
<span class="doc-name">📄 马场土地租赁合约</span>
<span class="doc-desc">— 苏塞克斯郡 · 1995年签署</span>
<span class="click-hint">(link:"[打开]")[(goto:"书房_租赁合约")]</span>
</div>
<!-- ====== 保险箱 ====== -->
<div class="study-body">
<div class="section-head">▼ 保险箱</div>
</div>
<div class="safe-note">
<span class="name">🔒 嘉诚·菲茨威廉</span> 的审计账目批注
<span class="click-hint">(link:"[打开]")[(goto:"书房_审计批注")]</span>
(if: $crack_triggered is 0)[
<span class="click-hint"> (link:"[再仔细看看保险箱]")[
(set: $safe_clicks to $safe_clicks + 1)
(if: $safe_clicks is 1)[
(goto:"勘查_书房")
]
(if: $safe_clicks is 2)[
(set: $crack_triggered to 1)
(goto:"书房_裂痕彩蛋")
]
]
]
</div>
<!-- ====== 抽屉 ====== -->
<div class="study-body">
<div class="section-head">▼ 抽屉</div>
</div>
<div class="drawer-item">
马库斯集团拖欠货款催款回执 <span class="amount">£47,800</span>
<span class="status">无还款记录</span>
<span class="click-hint">(link:"[打开]")[(goto:"书房_催款回执")]</span>
</div>
<div class="drawer-item">
马库斯集团拖欠货款催款回执 <span class="amount">£23,200</span>
<span class="status">无还款记录</span>
<span class="click-hint">(link:"[打开]")[(goto:"书房_催款回执")]</span>
</div>
<div class="drawer-item">
马库斯集团拖欠货款催款回执 <span class="amount">£91,500</span>
<span class="status">无还款记录</span>
<span class="click-hint">(link:"[打开]")[(goto:"书房_催款回执")]</span>
</div>
<div class="study-body">
<div class="study-scene-note"><span class="arrow">▶</span> 所有物证均指向同一方向:银丘酒庄的财务问题远不止于此。</div>
</div>
<!-- ====== 藏书家成就 ====== -->
(if: $book_collector is 0 and (history:) contains "书房_产权证明" and (history:) contains "书房_租赁合约" and (history:) contains "书房_审计批注" and (history:) contains "书房_催款回执")[
(set: $book_collector to 1)
(css: "font-family: 'Cormorant Garamond', serif; text-align: center;")[
(dialog: "📜 藏书家", " 尘封的旧账,终于被翻到了最后一页 ")
]
]
<div class="study-divider">· · ·</div>
<div class="study-clue">◈ 解锁线索</div>
<div class="study-clue-item">
<span class="num">009</span> (if: $clue009 < 1)[(set: $clue009 to 1)] 朵蒂与莱昂·吕私人往来邮件
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案009_详情")]</span>
</div>
<div class="study-footer">
<span class="study-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="study-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.cottage-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.cottage-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.cottage-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.cottage-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.cottage-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.cottage-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.cottage-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.cottage-meta span {
color: #667788;
}
.cottage-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.cottage-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.cottage-body .highlight {
color: #c9a96e;
}
.cottage-body .dim {
color: #445566;
}
.cottage-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #8899aa;
letter-spacing: 3px;
margin: 1.2em 0 0.4em 0;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.cottage-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.cottage-body .evidence-card {
padding: 0.6em 1.2em;
margin: 0.4em 0 0.6em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
transition: all 0.3s ease;
}
.cottage-body .evidence-card:hover {
border-left-color: rgba(201, 169, 110, 0.2);
background: rgba(201, 169, 110, 0.04);
}
.cottage-body .evidence-card .tag {
display: inline-block;
font-size: 0.55em;
letter-spacing: 2px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.06);
padding: 0.1em 0.8em;
border-radius: 2px;
margin-right: 0.8em;
font-weight: 400;
}
.cottage-body .evidence-card .highlight-tag {
color: #c9a96e;
border-color: rgba(201, 169, 110, 0.15);
}
.cottage-body .evidence-card .card-text {
color: #ccd4dc;
font-style: italic;
font-size: 0.9em;
}
.cottage-body .evidence-card .card-text .gold {
color: #c9a96e;
font-style: normal;
font-weight: 400;
}
.cottage-body .scene-note {
font-size: 0.75em;
color: #445566;
letter-spacing: 1px;
margin-top: 0.2em;
padding-left: 0.4em;
}
.cottage-body .scene-note .arrow {
color: #667788;
margin-right: 0.4em;
}
.cottage-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.cottage-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.cottage-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.cottage-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.cottage-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.cottage-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.cottage-clue-item .view-link:hover {
color: #c9a96e;
}
.cottage-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.cottage-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.cottage-back tw-link {
color: #667788 !important;
}
.cottage-back:hover tw-link {
color: #c9a96e !important;
}
.cottage-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.cottage-nav tw-link {
color: #667788 !important;
}
.cottage-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
.cottage-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="cottage-container">
<div class="cottage-header">
<span class="cottage-title">
╲ 园丁小屋 ╱
<span class="cottage-title-eng">— COTTAGE</span>
</span>
<span class="cottage-badge">EVIDENCE · 04</span>
</div>
<div class="cottage-meta">
<span>记录人:天宇·托比</span>
<span>勘查时间:1998.10.27 09:10</span>
</div>
<div class="cottage-body">
(set: $clue006 to 0)
(set: $clue007 to 0)
(set: $clue008 to 0)
<span class="label">◆ 现场勘查概要</span>
屋内存放全套园艺工具、葡萄园培育记录,以及<span class="highlight">葡萄藤提纯药剂</span>。墙面挂钩原本存放酒窖备用钥匙——挂钩空置,钥匙失窃。
<div class="section-head">▼ 老园丁的日记</div>
角落的铁盒里留有已故老园丁的日记,最后一页写于他遇害当日:</div>
<div class="evidence-card">
<span class="tag highlight-tag">📖 日记</span>
<span class="card-text">"天没亮透,莱昂·吕的车就来了。朵蒂就在葡萄园里等他。两人从地里挖出一个铁箱,打开,全是现金,一沓一沓的。
他戴着那副黑框厚眼镜,我隔窗看得一清二楚。"</span>
</div>
<div class="cottage-body">
<div class="scene-note"><span class="arrow">▶</span> 这张纸被撕下来后重新夹了回去,边缘有明显的二次折痕。</div>
</div>
<div class="cottage-body">
<div class="section-head">▼ 垃圾袋中的物证</div>
小屋外侧的黑色垃圾袋内,找到一支无标识白色小玻璃瓶。瓶内附着少量白色粉末,瓶身提取到完整指纹:
</div>
<div class="evidence-card">
<span class="tag">🔬 指纹比对</span>
<span class="card-text">指纹匹配结果:<span class="gold">酒保威尔</span></span>
</div>
<div class="cottage-body">
<div class="scene-note"><span class="arrow">▶</span> 瓶身编号磨损严重,但指纹完整度极高,可作为有效物证。</div>
</div>
<div class="cottage-body">
<div class="section-head">▼ 窗沿的痕迹</div>
窗沿留有外来男士警靴泥印,与酒窖内第二组脚印的泥土样本<span class="highlight">土质完全一致</span>。
</div>
<div class="cottage-body">
<div class="scene-note"><span class="arrow">▶</span> 同一双鞋,出现在两个不同的现场。</div>
</div>
<div class="cottage-divider">· · ·</div>
<div class="cottage-clue">◈ 解锁线索</div>
<div class="cottage-clue-item">
<span class="num">006</span> (if: $clue006 < 1)[(set: $clue006 to 1)] 已故园丁日记原件
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案006_详情")]</span>
</div>
<div class="cottage-clue-item">
<span class="num">007</span> (if: $clue007 < 1)[(set: $clue007 to 1)] 酒窖备用钥匙失窃记录
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案007_详情")]</span>
</div>
<div class="cottage-clue-item">
<span class="num">008</span> (if: $clue008 < 1)[(set: $clue008 to 1)] 小瓶指纹比对报告
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案008_详情")]</span>
</div>
<div class="cottage-footer">
<span class="cottage-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="cottage-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.room-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.room-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.room-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.room-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.room-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.room-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.room-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.room-meta span {
color: #667788;
}
.room-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.room-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.room-body .highlight {
color: #c9a96e;
}
.room-body .dim {
color: #445566;
}
.room-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #8899aa;
letter-spacing: 3px;
margin: 1.4em 0 0.4em 0;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.room-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.evidence-card {
padding: 0.6em 1.2em;
margin: 0.4em 0 0.6em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
transition: all 0.3s ease;
}
.evidence-card:hover {
border-left-color: rgba(201, 169, 110, 0.2);
background: rgba(201, 169, 110, 0.04);
}
.evidence-card .tag {
display: inline-block;
font-size: 0.55em;
letter-spacing: 2px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.06);
padding: 0.1em 0.8em;
border-radius: 2px;
margin-right: 0.8em;
font-weight: 400;
}
.evidence-card .tag.gold {
color: #c9a96e;
border-color: rgba(201, 169, 110, 0.15);
}
.evidence-card .card-text {
color: #ccd4dc;
font-size: 0.9em;
line-height: 1.8;
}
.evidence-card .card-text .gold {
color: #c9a96e;
font-weight: 400;
}
.evidence-card .interact-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.6em;
transition: all 0.3s ease;
}
.evidence-card .interact-link:hover {
color: #c9a96e;
}
.email-preview {
padding: 0.8em 1.4em;
margin: 0.4em 0 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 2px;
transition: all 0.3s ease;
}
.email-preview:hover {
border-color: rgba(201, 169, 110, 0.15);
background: rgba(201, 169, 110, 0.04);
}
.email-preview .email-header {
font-size: 0.6em;
color: #445566;
letter-spacing: 1px;
}
.email-preview .email-subject {
font-size: 0.85em;
color: #c9a96e;
font-weight: 400;
letter-spacing: 1px;
margin: 0.1em 0;
}
.email-preview .email-snippet {
font-size: 0.8em;
color: #667788;
font-style: italic;
}
.email-preview .click-hint {
color: #445566;
font-size: 0.6em;
letter-spacing: 2px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.email-preview .click-hint:hover {
color: #c9a96e;
}
.scene-note {
font-size: 0.75em;
color: #445566;
letter-spacing: 1px;
margin-top: 0.2em;
padding-left: 0.4em;
}
.scene-note .arrow {
color: #667788;
margin-right: 0.4em;
}
.room-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.room-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.room-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.room-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.room-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.room-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.room-clue-item .view-link:hover {
color: #c9a96e;
}
.room-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.room-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.room-back tw-link {
color: #667788 !important;
}
.room-back:hover tw-link {
color: #c9a96e !important;
}
.room-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.room-nav tw-link {
color: #667788 !important;
}
.room-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
.room-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="room-container">
<div class="room-header">
<span class="room-title">
╲ 马库斯客房 ╱
<span class="room-title-eng">— GUESTROOM</span>
</span>
<span class="room-badge">EVIDENCE · 06</span>
</div>
<div class="room-meta">
<span>记录人:天宇·托比</span>
<span>勘查时间:1998.10.27 14:00</span>
</div>
<div class="room-body">
(set: $clue010 to 0)
(set: $clue011 to 0)
<span class="label">◆ 现场物证记录</span>
客房内的每一处痕迹都经过仔细检视。以下是锁定的关键物证:
</div>
<!-- ====== 壁炉 ====== -->
<div class="room-body">
<div class="section-head">▼ 壁炉</div>
</div>
<div class="evidence-card">
<span class="tag gold">👞 鞋印</span>
<span class="card-text">
壁炉外出现<span class="gold">男士警靴泥印</span>,与酒窖内第二组脚印土质完全一致。
<span class="interact-link">(link:"[查看鞋印]")[(goto:"客房_鞋印")]</span>
</span>
</div>
<div class="evidence-card">
<span class="tag">🧊 冰毛巾</span>
<span class="card-text">
壁炉内部清理出焚烧后残留的棉质毛巾纤维,纤维带有冰冻水渍痕迹。
</span>
</div>
<div class="evidence-card">
<span class="tag">🔥 焚烧残留</span>
<span class="card-text">
壁炉灰烬中发现焚烧不完全的纤维组织,有刻意销毁痕迹。
</span>
</div>
<div class="room-body">
<div class="scene-note"><span class="arrow">▶</span> 泥印与酒窖脚印吻合,冰毛巾纤维与死者头部钝器伤高度相关。</div>
</div>
<!-- ====== 电脑邮件 ====== -->
<div class="room-body">
<div class="section-head">▼ 电脑邮件</div>
</div>
<div class="email-preview">
<div class="email-header">📧 草稿 · 未发送 · 1998.10.26 21:47</div>
<div class="email-subject">收件人:朵蒂·李</div>
<div class="email-snippet">"只要蒋易停止追查,我自有办法补偿欠款..."</div>
<span class="click-hint">(link:"[展开阅读]")[(goto:"档案011_详情")]</span>
</div>
<div class="room-body">
<div class="scene-note"><span class="arrow">▶</span> 邮件未发送,存于草稿箱。</div>
</div>
<div class="room-divider">· · ·</div>
<div class="room-clue">◈ 解锁线索</div>
<div class="room-clue-item">
<span class="num">010</span> (if: $clue010 < 1)[(set: $clue010 to 1)] 冰毛巾凶器残留物证记录
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案010_详情")]</span>
</div>
<div class="room-clue-item">
<span class="num">011</span> (if: $clue011 < 1)[(set: $clue011 to 1)] 马库斯·土豆与朵蒂·李私人邮件
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案011_详情")]</span>
</div>
<div class="room-footer">
<span class="room-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="room-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.news-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.news-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.news-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.news-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.news-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.news-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.news-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.news-meta span {
color: #667788;
}
.news-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.news-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.news-body .highlight {
color: #c9a96e;
}
.news-body .dim {
color: #445566;
}
.news-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #8899aa;
letter-spacing: 3px;
margin: 1.4em 0 0.4em 0;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.news-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.article-card {
padding: 0.8em 1.4em;
margin: 0.4em 0 0.6em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
transition: all 0.3s ease;
}
.article-card:hover {
border-left-color: rgba(201, 169, 110, 0.2);
background: rgba(201, 169, 110, 0.04);
}
.article-card .tag {
display: inline-block;
font-size: 0.55em;
letter-spacing: 2px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.06);
padding: 0.1em 0.8em;
border-radius: 2px;
margin-right: 0.8em;
font-weight: 400;
}
.article-card .tag.gold {
color: #c9a96e;
border-color: rgba(201, 169, 110, 0.15);
}
.article-card .card-text {
color: #ccd4dc;
font-size: 0.9em;
line-height: 1.8;
}
.article-card .card-text .gold {
color: #c9a96e;
font-weight: 400;
}
.article-card .interact-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.6em;
transition: all 0.3s ease;
}
.article-card .interact-link:hover {
color: #c9a96e;
}
.receipt-card {
padding: 0.8em 1.4em;
margin: 0.4em 0 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
transition: all 0.3s ease;
}
.receipt-card:hover {
border-color: rgba(201, 169, 110, 0.1);
background: rgba(201, 169, 110, 0.02);
}
.receipt-card .tag {
display: inline-block;
font-size: 0.55em;
letter-spacing: 2px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.06);
padding: 0.1em 0.8em;
border-radius: 2px;
margin-right: 0.8em;
font-weight: 400;
}
.receipt-card .interact-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.6em;
transition: all 0.3s ease;
}
.receipt-card .interact-link:hover {
color: #c9a96e;
}
.scene-note {
font-size: 0.75em;
color: #445566;
letter-spacing: 1px;
margin-top: 0.2em;
padding-left: 0.4em;
}
.scene-note .arrow {
color: #667788;
margin-right: 0.4em;
}
.news-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.news-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.news-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.news-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.news-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.news-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.news-clue-item .view-link:hover {
color: #c9a96e;
}
.news-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.news-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.news-back tw-link {
color: #667788 !important;
}
.news-back:hover tw-link {
color: #c9a96e !important;
}
.news-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.news-nav tw-link {
color: #667788 !important;
}
.news-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
.news-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="news-container">
<div class="news-header">
<span class="news-title">
╲ 报社编辑部 ╱
<span class="news-title-eng">— NEWSROOM</span>
</span>
<span class="news-badge">EVIDENCE · 08</span>
</div>
<div class="news-meta">
<span>勘查人:见习警员 楠森·王</span>
<span>勘查时间:1998.10.28 14:00</span>
</div>
<div class="news-body">
(set: $clue014 to 0)
(set: $clue015 to 0)
<span class="label">◆ 楠森·王带回的物证</span>
午饭后,楠森·王从伦敦回来了。他把一个牛皮纸档案袋放在你桌上,拍了拍上面的灰。
"理查德·广的办公桌,抽屉没锁。这两样东西最扎眼。"
你抽出档案袋里的两份文件。
</div>
<!-- ====== 未刊发稿件 ====== -->
<div class="news-body">
<div class="section-head">▼ 未刊发稿件</div>
</div>
<div class="article-card">
<span class="tag">📄 稿件原件</span>
<span class="card-text">
曝光银丘酒庄<span class="gold">葡萄病虫害严重</span>、<span class="gold">酒水品质造假</span>。
<span class="interact-link">(link:"[阅读全文]")[(goto:"报社_稿件")]</span>
</span>
</div>
<div class="article-card">
<span class="tag gold">📦 拒收单</span>
<span class="card-text">
抽屉内还夹着一张高端红酒礼品拒收单,收件人:理查德·广。
<span class="interact-link">(link:"[查看拒收单]")[(goto:"报社_拒收单")]</span>
</span>
</div>
<div class="news-body">
<div class="scene-note"><span class="arrow">▶</span> 楠森·王指了指拒收单:"这个最要紧。理查德·广没收酒庄的东西。"</div>
</div>
<!-- ====== 笔锋成就 ====== -->
(if: $pen_master is 0 and (history:) contains "报社_稿件" and (history:) contains "报社_拒收单")[
(set: $pen_master to 1)
(dialog: "✒️ 笔锋", "理查德·广的抽屉里里,
藏着一篇没能见光的真相")
]
<div class="news-divider">· · ·</div>
<div class="news-clue">◈ 解锁线索</div>
<div class="news-clue-item">
<span class="num">014</span> (if: $clue014 < 1)[(set: $clue014 to 1)] 未刊发负面专栏底稿
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案014_详情")]</span>
</div>
<div class="news-clue-item">
<span class="num">015</span> (if: $clue015 < 1)[(set: $clue015 to 1)] 酒庄礼品拒收单据
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案015_详情")]</span>
</div>
<div class="news-footer">
<span class="news-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="news-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.evidence-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.evidence-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.evidence-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.evidence-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.evidence-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.evidence-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.evidence-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.evidence-meta span {
color: #667788;
}
.evidence-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.evidence-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.evidence-body .highlight {
color: #c9a96e;
}
.evidence-body .dim {
color: #445566;
}
.evidence-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.evidence-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.evidence-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.evidence-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.evidence-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.evidence-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.evidence-clue-item .view-link:hover {
color: #c9a96e;
}
.evidence-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.evidence-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.evidence-back tw-link {
color: #667788 !important;
}
.evidence-back:hover tw-link {
color: #c9a96e !important;
}
.evidence-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.evidence-nav tw-link {
color: #667788 !important;
}
.evidence-nav:hover tw-link {
color: #c9a96e !important;
}
.coat-trigger {
display: inline-block;
padding: 0.3em 1.2em;
margin: 0.3em 0 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.85em;
font-weight: 300;
color: #8899aa;
letter-spacing: 2px;
transition: all 0.4s ease;
background: rgba(201, 169, 110, 0.02);
}
.coat-trigger:hover {
border-color: rgba(201, 169, 110, 0.4);
color: #c9a96e;
background: rgba(201, 169, 110, 0.06);
padding: 0.3em 1.6em;
box-shadow: 0 0 30px rgba(201, 169, 110, 0.04);
}
.coat-hidden {
display: inline-block;
padding: 0.1em 0.4em;
margin: 0.1em 0;
font-size: 0.9em;
color: #445566;
letter-spacing: 1px;
transition: all 0.3s ease;
opacity: 0.25;
border: 1px solid rgba(201, 169, 110, 0.03);
border-radius: 2px;
background: rgba(201, 169, 110, 0.01);
}
.coat-hidden:hover {
opacity: 0.7;
color: #667788;
border-color: rgba(201, 169, 110, 0.1);
background: rgba(201, 169, 110, 0.02);
}
.clue-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.clue-link:hover {
color: #c9a96e;
}
.desk-click-area {
display: inline-block;
padding: 0.1em 0.4em;
margin: 0.1em 0;
font-size: 0.9em;
color: #445566;
letter-spacing: 1px;
transition: all 0.3s ease;
opacity: 0.2;
border: 1px solid rgba(201, 169, 110, 0.02);
border-radius: 2px;
background: rgba(201, 169, 110, 0.01);
cursor: default;
}
.desk-click-area:hover {
opacity: 0.5;
color: #667788;
border-color: rgba(201, 169, 110, 0.06);
}
.desk-click-area tw-link {
color: #445566 !important;
}
.desk-click-area:hover tw-link {
color: #667788 !important;
}
.ghost-message {
margin-top: 0.8em;
padding: 0.6em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
color: #667788;
font-style: italic;
animation: ghostFade 4s ease;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
@keyframes ghostFade {
0% { opacity: 0; }
20% { opacity: 1; }
80% { opacity: 1; }
100% { opacity: 0; }
}
.evidence-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
</style>
<div style="max-width: 720px; margin: 0 auto; padding: 0 0.5em;">
<div class="evidence-container">
<div class="evidence-header">
<span class="evidence-title">
╲ 警署办公室 ╱
<span class="evidence-title-eng">— STATION</span>
</span>
<span class="evidence-badge">EVIDENCE · 01</span>
</div>
<div class="evidence-meta">
<span>记录人:见习警员 楠森·王</span>
<span>勘查时间:1998.10.26 16:40</span>
</div>
<div class="evidence-body">(set: $clue001 to 0)(set: $clue018 to 0)
<!-- 办公桌点击次数变量 -->(if: $desk_clicks is 0)[(set: $desk_clicks to 0)]
<span class="label">◆ 室内留存物品:</span>
衣架悬挂一套平整警服,外部无破损、无外力撕扯痕迹。
<span class="coat-hidden">(link:"/内袋有蒋易私人物品/")[(set: $clue019 to 1)(goto:"档案019_详情")]</span>
<span class="dim">办公桌抽屉</span> 留存空白搜查令模板、车辆登记记录本、回绝晚宴邀请草稿。
(if: $desk_clicks < 2)[
<span class="dim">桌面</span> 堆叠完整晚宴人员登记簿。
<span class="desk-click-area">(link:"[目光在桌面上停留了片刻]")[(set: $desk_clicks to $desk_clicks + 1)(goto:"勘查_警署办公室")]</span>
]
(if: $desk_clicks is 2)[
<span class="dim">桌面</span> 堆叠完整晚宴人员登记簿。
<span style="color: #667788; font-style: italic; display: block; margin-top: 0.2em; padding-left: 0.8em; border-left: 2px solid rgba(201,169,110,0.08);">
"你盯着那张桌子看了很久。桌面上有一道浅浅的刻痕,像是有人用钥匙尖随手划的。凑近了看,是一个日期——<span style="color: #c9a96e;">07.29</span>。"
</span>
<span class="desk-click-area" style="opacity: 0.15;">(link:"[移开目光]")[(set: $desk_clicks to 3)(goto:"勘查_警署办公室")]</span>
]
(if: $desk_clicks > 2)[
<span class="dim">桌面</span> 堆叠完整晚宴人员登记簿。
]
<span class="dim">铁皮文件柜</span> 柜外摆放蒋易交付的马库斯集团财务流水、造假凭证纸质原件。
桌面手写便签一条,蒋易本人字迹:
<span class="highlight">"晚宴人员涉及利益冲突
审计、酒庄主、酒水经销商、高层督察往来 ?"</span>
</div>
<!-- ========== 时间判断和幽灵彩蛋 ========== -->
(set: $timeStr to (current-time:))
(set: $is_spooky_hour to 0)
(if: $timeStr contains "PM" and ($timeStr contains "9" or $timeStr contains "10" or $timeStr contains "11"))[
(set: $is_spooky_hour to 1)]
(if: $timeStr contains "AM" and ($timeStr contains "12" or $timeStr contains "1" or $timeStr contains "2" or $timeStr contains "3" or $timeStr contains "4"))[
(set: $is_spooky_hour to 1)]
(if: $is_spooky_hour is 1 and $egg_ghost_triggered is 0)[
(set: $egg_ghost_triggered to 1)
<div class="ghost-message">
"你听见身后的椅子响了一声。转过头,没有人。办公桌的笔帽掉在地上,还在滚动。"
<br>
"蒋易,是你吗?"
</div>]
<div class="evidence-divider">· · ·</div>
<div class="evidence-clue">◈ 解锁线索</div>
<div class="evidence-clue-item">
<span class="num">001</span> (if: $clue001 < 1)[(set: $clue001 to 1)] 马库斯集团财务造假纸质流水单据
<span class="status">─ 已归档</span>
<span class="clue-link">(link:"[查看详情]")[(goto:"档案001_详情")]</span>
</div>
<div class="evidence-clue-item">
<span class="num">018</span> (if: $clue018 < 1)[(set: $clue018 to 1)] 晚宴回绝邮件草稿
<span class="status">─ 已归档</span>
<span class="clue-link">(link:"[查看详情]")[(goto:"档案018_详情")]</span>
</div>
<div class="evidence-footer">
<span class="evidence-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="evidence-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
</div><style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.evidence-room-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.evidence-room-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.evidence-room-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.evidence-room-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.evidence-room-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.evidence-room-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.evidence-room-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.evidence-room-meta span {
color: #667788;
}
.evidence-room-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.evidence-room-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.evidence-room-body .highlight {
color: #c9a96e;
}
.evidence-room-body .dim {
color: #445566;
}
.evidence-room-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #8899aa;
letter-spacing: 3px;
margin: 1.4em 0 0.4em 0;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.evidence-room-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.evidence-room-body .case-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 0.6em;
margin: 0.4em 0;
}
.evidence-room-body .case-grid .case-card {
padding: 0.5em 0.6em;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
text-align: center;
font-size: 0.7em;
color: #667788;
letter-spacing: 0.5px;
transition: all 0.3s ease;
cursor: pointer;
}
.evidence-room-body .case-grid .case-card:hover {
border-color: rgba(201, 169, 110, 0.15);
background: rgba(201, 169, 110, 0.04);
}
.evidence-room-body .case-grid .case-card .year {
display: block;
font-size: 0.8em;
color: #445566;
letter-spacing: 2px;
margin-bottom: 0.1em;
}
.evidence-room-body .case-grid .case-card .name {
display: block;
color: #aabbcc;
font-size: 0.75em;
line-height: 1.3;
}
.evidence-room-body .case-grid .case-card .status {
display: block;
font-size: 0.6em;
color: #445566;
letter-spacing: 1px;
margin-top: 0.1em;
}
.evidence-room-body .case-grid .case-card .status .closed {
color: #667788;
}
.evidence-room-body .case-grid .case-card .interact-link {
display: inline-block;
margin-top: 0.2em;
font-size: 0.65em;
color: #445566;
letter-spacing: 1px;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.2em;
transition: all 0.3s ease;
}
.evidence-room-body .case-grid .case-card .interact-link:hover {
color: #c9a96e;
}
.evidence-room-body .report-card {
padding: 0.6em 1.2em;
margin: 0.4em 0 0.6em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
transition: all 0.3s ease;
}
.evidence-room-body .report-card:hover {
border-left-color: rgba(201, 169, 110, 0.2);
background: rgba(201, 169, 110, 0.04);
}
.evidence-room-body .report-card .tag {
display: inline-block;
font-size: 0.55em;
letter-spacing: 2px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.06);
padding: 0.1em 0.8em;
border-radius: 2px;
margin-right: 0.8em;
font-weight: 400;
}
.evidence-room-body .report-card .tag.gold {
color: #c9a96e;
border-color: rgba(201, 169, 110, 0.15);
}
.evidence-room-body .report-card .card-text {
color: #ccd4dc;
font-size: 0.9em;
line-height: 1.8;
}
.evidence-room-body .report-card .card-text .gold {
color: #c9a96e;
font-weight: 400;
}
.evidence-room-body .scene-note {
font-size: 0.75em;
color: #445566;
letter-spacing: 1px;
margin-top: 0.2em;
padding-left: 0.4em;
}
.evidence-room-body .scene-note .arrow {
color: #667788;
margin-right: 0.4em;
}
.evidence-room-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.evidence-room-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.evidence-room-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.evidence-room-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.evidence-room-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.evidence-room-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.evidence-room-clue-item .view-link:hover {
color: #c9a96e;
}
.evidence-room-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.evidence-room-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.evidence-room-back tw-link {
color: #667788 !important;
}
.evidence-room-back:hover tw-link {
color: #c9a96e !important;
}
.evidence-room-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.evidence-room-nav tw-link {
color: #667788 !important;
}
.evidence-room-nav:hover tw-link {
color: #c9a96e !important;
}
.developer-egg-area {
margin-top: 1.2em;
padding: 0.2em 0.4em;
border: 1px solid rgba(201, 169, 110, 0.02);
background: rgba(201, 169, 110, 0.005);
border-radius: 2px;
transition: all 0.3s ease;
}
.developer-egg-area:hover {
border-color: rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.01);
}
.developer-egg-trigger {
display: inline-block;
font-size: 0.7em;
color: #445566;
letter-spacing: 1px;
transition: all 0.3s ease;
opacity: 0.15;
cursor: pointer;
}
.developer-egg-trigger:hover {
opacity: 0.5;
color: #667788;
}
.developer-egg-trigger tw-link {
color: #445566 !important;
}
.developer-egg-trigger:hover tw-link {
color: #667788 !important;
}
.developer-egg-message {
margin-top: 0.4em;
padding: 0.4em 0.8em;
border-left: 2px solid rgba(201, 169, 110, 0.06);
color: #667788;
font-size: 0.7em;
font-style: italic;
letter-spacing: 1px;
animation: eggReveal 0.6s ease;
}
.developer-egg-hide {
margin-top: 0.2em;
font-size: 0.6em;
color: #445566;
letter-spacing: 1px;
opacity: 0.3;
transition: all 0.3s ease;
cursor: pointer;
}
.developer-egg-hide:hover {
opacity: 0.6;
}
.developer-egg-hide tw-link {
color: #445566 !important;
}
.developer-egg-hide:hover tw-link {
color: #667788 !important;
}
@keyframes eggReveal {
0% { opacity: 0; transform: translateY(-6px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
.evidence-room-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="evidence-room-container">
<div class="evidence-room-header">
<span class="evidence-room-title">
╲ 证物储藏室 ╱
<span class="evidence-room-title-eng">— EVIDENCE ROOM</span>
</span>
<span class="evidence-room-badge">EVIDENCE · 09</span>
</div>
<div class="evidence-room-meta">
<span>记录人:天宇·托比</span>
<span>勘查时间:1998.10.29 09:00</span>
</div>
<div class="evidence-room-body">
(set: $clue016 to 0)(set: $clue017 to 0)(set: $clue020 to 0)
<!-- 开发者彩蛋变量 -->
(if: $dev_egg_triggered is 0)[(set: $dev_egg_triggered to 0)]
<!-- 使用 (live:) 让点击后直接显示 -->
(if: $dev_egg_triggered is 0)[(set: $dev_egg_show to 0)]
(if: $dev_egg_show is 0)[(set: $dev_egg_show to 0)]
<span class="label">◆ 现场物证记录</span>
证物室的门锁换过两次。你用了新的钥匙卡才刷开第三道门,铁皮柜子里码着几个落了灰的档案盒。
</div>
<!-- ====== 往年旧案 ====== -->
<div class="evidence-room-body">
<div class="section-head">▼ 封存旧案卷宗</div>
</div>
<div class="evidence-room-body">
<div class="case-grid">
<div class="case-card">
<span class="year">1997.08</span>
<span class="name">佩金丝酒馆<br>集体中毒</span>
<span class="status"><span class="closed">已结案 · 证据不足</span></span>
<span class="interact-link">(link:"[查看详情]")[(goto:"证物_中毒案")]</span>
</div>
<div class="case-card">
<span class="year">1998.01</span>
<span class="name">老园丁遇害</span>
<span class="status"><span class="closed">已结案 · 判定自杀</span></span>
<span class="interact-link">(link:"[查看详情]")[(goto:"证物_园丁案")]</span>
</div>
<div class="case-card">
<span class="year">1998.05</span>
<span class="name">警署档案室<br>纵火案</span>
<span class="status"><span class="closed">已结案 · 原因不明</span></span>
<span class="interact-link">(link:"[查看详情]")[(goto:"证物_纵火案")]</span>
</div>
</div>
<div class="scene-note"><span class="arrow">▶</span> 三起案子,全部草草结案。</div>
</div>
<!-- ====== 化验报告 ====== -->
<div class="evidence-room-body">
<div class="section-head">▼ 新增物证 · 化验报告</div>
</div>
<div class="report-card">
<span class="tag gold">🔬 粉末分析</span>
<span class="card-text">
园丁小屋外白色玻璃瓶内提取物已出结果:<span class="gold">葡萄藤提纯毒素</span>,微量摄入即可致人死亡。
</span>
</div>
<!-- ====== 审讯笔录 ====== -->
<div class="evidence-room-body">
<div class="section-head">▼ 酒保威尔 · 审讯笔录</div>
</div>
<div class="report-card">
<span class="tag gold">📋 书面供述</span>
<span class="card-text">
晚宴前马库斯单独找到威尔,以家人性命要挟,交付药瓶,吩咐混入蒋易酒杯。<br>
<span class="gold">威尔明知药剂有毒</span>,未向任何人提起此事。
</span>
</div>
<div class="evidence-room-body">
<div class="scene-note"><span class="arrow">▶</span> 你把威尔笔录放在最上面:"这个,是关键。马库斯亲手把毒交给了威尔。"</div></div>
<!-- ====== 开发者彩蛋 ====== -->
<div class="evidence-room-body">
<div class="developer-egg-area">
<span class="developer-egg-trigger" style="display: inline-block; font-size: 0.7em; color: #445566; letter-spacing: 1px; opacity: 0.15; transition: opacity 0.3s ease; cursor: default;"
onmouseenter="this.style.opacity='0.6'; this.style.color='#667788';"
onmouseleave="this.style.opacity='0.15'; this.style.color='#445566';">
"这卷宗封底贴着一张泛黄的便签:
'如果有一天你玩到了这里,记得去喝杯茶。——摇汞青年'"
</span>
</div>
</div>
<div class="evidence-room-divider">· · ·</div>
<div class="evidence-room-clue">◈ 解锁线索</div>
<div class="evidence-room-clue-item">
<span class="num">016</span> (if: $clue016 < 1)[(set: $clue016 to 1)] 白色粉末化验鉴定报告
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案016_详情")]</span>
</div>
<div class="evidence-room-clue-item">
<span class="num">017</span> (if: $clue017 < 1)[(set: $clue017 to 1)] 酒保威尔审讯笔录
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案017_详情")]</span>
</div>
<div class="evidence-room-clue-item">
<span class="num">020</span> (if: $clue020 < 1)[(set: $clue020 to 1)] 往年积压旧案封存残卷
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案020_详情")]</span>
</div>
<div class="evidence-room-footer">
<span class="evidence-room-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="evidence-room-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.cellar-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.cellar-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.cellar-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.cellar-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.cellar-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.cellar-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.cellar-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.cellar-meta span {
color: #667788;
}
.cellar-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.cellar-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.cellar-body .highlight {
color: #c9a96e;
}
.cellar-body .dim {
color: #445566;
}
.cellar-body .footprint {
color: #667788;
font-size: 0.85em;
padding-left: 1.2em;
border-left: 1px solid rgba(201, 169, 110, 0.06);
margin: 0.3em 0;
}
.cellar-body .footprint .icon {
color: #445566;
margin-right: 0.5em;
}
.cellar-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.cellar-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.cellar-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.cellar-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.cellar-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.cellar-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.cellar-clue-item .view-link:hover {
color: #c9a96e;
}
.cellar-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.cellar-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.cellar-back tw-link {
color: #667788 !important;
}
.cellar-back:hover tw-link {
color: #c9a96e !important;
}
.cellar-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.cellar-nav tw-link {
color: #667788 !important;
}
.cellar-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
.cellar-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="cellar-container">
<div class="cellar-header">
<span class="cellar-title">
╲ 地下酒窖 ╱
<span class="cellar-title-eng">— CELLAR</span>
</span>
<span class="cellar-badge">EVIDENCE · 03</span>
</div>
<div class="cellar-meta">
<span>记录人:天宇·托比</span>
<span>勘查时间:1998.10.26 23:45</span>
</div>
<div class="cellar-body">
(set: $clue004 to 0)
(set: $clue005 to 0)
<span class="label">◆ 场地与物证文字记录:</span>
密闭无窗地下空间,铁门为唯一出入口。门锁无暴力撬动痕迹,持有钥匙即可正常进入。
地面大面积红褐色葡萄园特有淤泥脚印,共两组尺寸:
<div class="footprint">
<span class="icon">◈</span> 一组匹配死者雨靴
</div><div class="footprint">
<span class="icon">◈</span> 另一组为男士制式警靴鞋印
</div>
死者<span class="highlight">蒋易</span>倒于橡木酒桶旁,头部存在明显钝器击打淤青痕迹。
酒桶夹缝遗留有黑色厚框眼镜碎片。
</div>
<div class="cellar-divider">· · ·</div>
<div class="cellar-clue">◈ 解锁线索</div>
<div class="cellar-clue-item">
<span class="num">004</span> (if: $clue004 < 1)[(set: $clue004 to 1)] 黑色厚框眼镜物证记录
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案004_详情")]</span>
</div>
<div class="cellar-clue-item">
<span class="num">005</span> (if: $clue005 < 1)[(set: $clue005 to 1)] 死者初步尸检报告
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案005_详情")]</span>
</div>
<div class="cellar-footer">
<span class="cellar-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="cellar-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.pub-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.pub-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.pub-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.pub-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.pub-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.pub-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.pub-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.pub-meta span {
color: #667788;
}
.pub-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.pub-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.pub-body .highlight {
color: #c9a96e;
}
.pub-body .dim {
color: #445566;
}
.pub-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #8899aa;
letter-spacing: 3px;
margin: 1.4em 0 0.4em 0;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.pub-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.transcript-card {
padding: 0.8em 1.4em;
margin: 0.4em 0 0.6em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
transition: all 0.3s ease;
}
.transcript-card:hover {
border-left-color: rgba(201, 169, 110, 0.2);
background: rgba(201, 169, 110, 0.04);
}
.transcript-card .tag {
display: inline-block;
font-size: 0.55em;
letter-spacing: 2px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.06);
padding: 0.1em 0.8em;
border-radius: 2px;
margin-right: 0.8em;
font-weight: 400;
}
.transcript-card .tag.gold {
color: #c9a96e;
border-color: rgba(201, 169, 110, 0.15);
}
.transcript-card .entry {
padding: 0.4em 0.2em;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
font-size: 0.88em;
color: #aabbcc;
line-height: 1.7;
}
.transcript-card .entry:last-child {
border-bottom: none;
}
.transcript-card .entry .speaker {
color: #c9a96e;
font-weight: 400;
letter-spacing: 0.5px;
}
.transcript-card .entry .speaker .dim {
color: #445566;
font-size: 0.8em;
font-weight: 300;
}
.transcript-card .entry .quote {
color: #ccd4dc;
font-style: italic;
}
.transcript-card .entry .quote .gold {
color: #c9a96e;
font-style: normal;
font-weight: 400;
}
.transcript-card .entry .note {
font-size: 0.75em;
color: #445566;
letter-spacing: 0.5px;
margin-top: 0.1em;
}
.transcript-card .interact-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.6em;
transition: all 0.3s ease;
}
.transcript-card .interact-link:hover {
color: #c9a96e;
}
.ledger-card {
padding: 0.8em 1.4em;
margin: 0.4em 0 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
transition: all 0.3s ease;
}
.ledger-card:hover {
border-color: rgba(201, 169, 110, 0.1);
background: rgba(201, 169, 110, 0.02);
}
.ledger-card .entry {
padding: 0.2em 0.4em;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
font-size: 0.85em;
color: #aabbcc;
}
.ledger-card .entry:last-child {
border-bottom: none;
}
.ledger-card .entry .date {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
}
.ledger-card .entry .name {
color: #ccd4dc;
}
.ledger-card .entry .name .gold {
color: #c9a96e;
}
.ledger-card .entry .remark {
color: #667788;
font-size: 0.8em;
}
.scene-note {
font-size: 0.75em;
color: #445566;
letter-spacing: 1px;
margin-top: 0.2em;
padding-left: 0.4em;
}
.scene-note .arrow {
color: #667788;
margin-right: 0.4em;
}
.pub-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.pub-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.pub-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.pub-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.pub-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.pub-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.pub-clue-item .view-link:hover {
color: #c9a96e;
}
.pub-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.pub-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.pub-back tw-link {
color: #667788 !important;
}
.pub-back:hover tw-link {
color: #c9a96e !important;
}
.pub-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.pub-nav tw-link {
color: #667788 !important;
}
.pub-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
.pub-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="pub-container">
<div class="pub-header">
<span class="pub-title">
╲ 国王之臂酒馆 ╱
<span class="pub-title-eng">— THE KING‘S ARMS</span>
</span>
<span class="pub-badge">EVIDENCE · 07</span>
</div>
<div class="pub-meta">
<span>记录人:天宇·托比</span>
<span>勘查时间:1998.10.28 10:00</span>
</div>
<div class="pub-body">
(set: $clue012 to 0)
(set: $clue013 to 0)
<span class="label">◆ 现场物证记录</span>
酒馆刚开门,空气里还残留着隔夜的麦芽味。老板把两个旧本子推到吧台上。
</div>
<!-- ====== 口述笔录 ====== -->
<div class="pub-body">
<div class="section-head">▼ 老板与常客的口述</div>
</div>
<div class="transcript-card">
<span class="tag gold">📋 口述笔录</span>
<div class="entry">
<span class="speaker">店主 <span class="dim">· 老汤姆</span></span><br>
<span class="quote">"那几位常客,来的时候从来不坐吧台。他们坐角落里那张桌子,一坐就是一整晚。点最贵的酒,聊的从来不是酒。"</span>
</div>
<div class="entry">
<span class="speaker">酒馆常客 <span class="dim">·约翰思弗</span></span><br>
<span class="quote">"去年秋天那会儿,一个穿警服的人来过这里。不是来喝酒的,是来等人的。门口停了辆车,他坐在车里,等了大概一个多钟头。"<br>
<span class="note">—— 楠森·王标注:经查,该时间段内莱昂·吕的公务车在附近出现过。</span></span>
</div>
<div class="entry">
<span class="speaker">老板娘 <span class="dim">· 玛莎</span></span><br>
<span class="quote">"嘉诚·菲茨威廉每隔一两个月就来一趟,每次都坐在同一个位置——靠窗那张。他说是在等朋友,但我从没见他等到过谁。"<br>
<span class="note">—— 被问到"那他在等谁?"时,老板娘犹豫了一下:"来的那个人,开黑色公务车。"</span></span>
</div>
<div class="entry" style="border-bottom: none;">
<span class="speaker">店主 <span class="dim">· 老汤姆</span></span><br>
<span class="quote">"去年五月,警署档案室着火那天晚上,有人说在附近看见了那辆黑色公务车。车开得很慢,像在找什么东西。"<br>
<span class="note">—— 天宇·托比标注:与档案室纵火案时间线吻合。</span></span>
</div>
<span class="interact-link">(link:"[查看完整笔录]")[(goto:"酒馆_笔记")]</span>
</div>
<!-- ====== 账本 ====== -->
<div class="pub-body">
<div class="section-head">▼ 后台账本</div>
</div>
<div class="ledger-card">
<span class="tag">📒 消费台账</span>
<div class="entry">
<span class="date">1998.09.15</span>
<span class="name">—— 马库斯·土豆</span>
<span class="remark">三品脱麦芽啤酒,独自一人。抱怨"资金链断了,他们还不还钱……"</span>
</div>
<div class="entry">
<span class="date">1998.09.28</span>
<span class="name">—— 马库斯·土豆</span>
<span class="remark">四杯威士忌,情绪激动。<span class="gold">"蒋易那个警长……让他闭嘴就好了。"</span></span>
</div>
<div class="entry">
<span class="date">1998.10.12</span>
<span class="name">—— 马库斯·土豆</span>
<span class="remark">半瓶苦艾酒,脸色惨白。"朵蒂那边催得紧……我没钱了。"</span>
</div>
<div class="entry">
<span class="date">1998.10.24</span>
<span class="name">—— 马库斯·土豆</span>
<span class="remark">三杯白兰地,反常地安静,<span class="gold">"只要蒋易死了,一切都解决了。"</span></span>
</div>
<div class="entry" style="border-bottom: none;">
<span class="date">1998.10.26</span>
<span class="name">—— 马库斯·土豆</span>
<span class="remark">半杯黑啤酒,没喝完就走了。此后未再出现。</span>
</div>
</div>
<div class="pub-body">
<div class="scene-note"><span class="arrow">▶</span> 账本上的日期和笔迹,和蒋易警长遇害时间线吻合。</div>
</div>
<!-- 彩蛋:在账本底部 -->
<div style="margin-top: 0.6em; padding-top: 0.4em; border-top: 1px solid rgba(201,169,110,0.03);">
<span style="color: #445566; font-size: 0.65em; letter-spacing: 1px;">账本背面夹着一张旧书页:</span>
<span style="color: #667788; font-size: 0.7em; font-style: italic; display: block; margin-top: 0.1em; padding-left: 0.4em; border-left: 2px solid rgba(201,169,110,0.04);">
"角落里有一本旧书,书脊上写着《The Moonstone》。翻开扉页,有人用铅笔写了一行字:'真相往往在最显眼的地方。'"
</span>
</div>
</div>
<div class="pub-divider">· · ·</div>
<div class="pub-clue">◈ 解锁线索</div>
<div class="pub-clue-item">
<span class="num">012</span> (if: $clue012 < 1)[(set: $clue012 to 1)] 酒馆店主及常客口述笔录
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案012_详情")]</span>
</div>
<div class="pub-clue-item">
<span class="num">013</span> (if: $clue013 < 1)[(set: $clue013 to 1)] 马库斯酒馆消费手写台账
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案013_详情")]</span>
</div>
<div class="pub-footer">
<span class="pub-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="pub-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&display=swap');
tw-link {
color: #aabbcc !important;
font-weight: 300 !important;
text-decoration: none !important;
transition: color 0.25s ease;
}
tw-link:hover {
color: #c9a96e !important;
}
tw-link:visited {
color: #8899aa !important;
}
.location-container {
max-width: 680px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.12);
border-radius: 6px;
position: relative;
}
.location-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.location-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.2em;
}
.location-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 8px;
color: #c9a96e;
}
.location-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.location-badge {
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.25em 1em;
border-radius: 2px;
font-weight: 300;
}
.location-list {
display: flex;
flex-direction: column;
gap: 0.15em;
}
.location-item {
display: block;
padding: 0.35em 0.6em 0.35em 0.8em;
border-left: 2px solid rgba(201, 169, 110, 0.06);
text-decoration: none;
transition: all 0.25s ease;
font-family: 'Inter', sans-serif;
font-size: 0.95em;
font-weight: 300;
letter-spacing: 0.5px;
border-radius: 0 2px 2px 0;
}
.location-item:hover {
border-left-color: rgba(201, 169, 110, 0.4);
background: rgba(201, 169, 110, 0.04);
padding-left: 1.2em;
}
.location-item:hover tw-link {
color: #c9a96e !important;
}
.location-number {
font-family: 'Cormorant Garamond', serif;
color: #445566;
font-size: 0.65em;
letter-spacing: 1px;
margin-right: 0.6em;
font-weight: 400;
}
.location-item .eng-sub {
font-size: 0.55em;
color: #445566;
letter-spacing: 1px;
margin-left: 0.6em;
font-weight: 300;
}
.location-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.location-counter {
font-family: 'Inter', sans-serif;
font-size: 0.7em;
font-weight: 300;
color: #445566;
letter-spacing: 2px;
}
.location-counter span {
color: #667788;
}
.location-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.location-back tw-link {
color: #667788 !important;
}
.location-back:hover tw-link {
color: #c9a96e !important;
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="location-container">
<div class="location-header">
<span class="location-title">
╲ 勘查地点 ╱
<span class="location-title-eng">— CRIME SCENE</span>
</span>
<span class="location-badge">SUSSEX · 1998</span>
</div>
<div class="location-list">
<div class="location-item">
<span class="location-number">01</span> (link:"警署办公室")[(goto:"勘查_警署办公室")]
<span class="eng-sub">Station</span>
</div>
<div class="location-item">
<span class="location-number">02</span> (link:"宴会厅")[(goto:"勘查_宴会厅")]
<span class="eng-sub">Ballroom</span>
</div>
<div class="location-item">
<span class="location-number">03</span> (link:"地下酒窖")[(goto:"勘查_酒窖")]
<span class="eng-sub">Cellar</span>
</div>
<div class="location-item">
<span class="location-number">04</span> (link:"园丁小屋")[(goto:"勘查_园丁小屋")]
<span class="eng-sub">Cottage</span>
</div>
<div class="location-item">
<span class="location-number">05</span> (link:"主人书房")[(goto:"勘查_书房")]
<span class="eng-sub">Study</span>
</div>
<div class="location-item">
<span class="location-number">06</span> (link:"马库斯客房")[(goto:"勘查_客房")]
<span class="eng-sub">Guestroom</span>
</div>
<div class="location-item">
<span class="location-number">07</span> (link:"国王之臂酒馆")[(goto:"勘查_酒馆")]
<span class="eng-sub">The King‘s Arms</span>
</div>
<div class="location-item">
<span class="location-number">08</span> (link:"「NEWS」报社编辑部")[(goto:"勘查_报社")]
<span class="eng-sub">Newsroom</span>
</div>
<div class="location-item">
<span class="location-number">09</span> (link:"证物储藏室")[(goto:"勘查_证物室")]
<span class="eng-sub">Evidence</span>
</div>
</div>
<div class="location-footer">
<span class="location-counter"><span>◆</span> 9 locations</span>
<span class="location-back">(link:"[Return]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&display=swap');
.shoe-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeUp 0.6s ease;
}
.shoe-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.shoe-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.shoe-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.shoe-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.shoe-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.shoe-body .highlight {
color: #c9a96e;
}
.shoe-body .dim {
color: #445566;
}
.shoe-body .footprint-detail {
padding: 0.6em 1.2em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
font-size: 0.85em;
color: #aabbcc;
}
.shoe-body .footprint-detail .label {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.shoe-body .footprint-detail .value {
color: #ccd4dc;
}
.shoe-body .footprint-detail .value .gold {
color: #c9a96e;
}
.shoe-body .observation {
font-size: 0.8em;
color: #667788;
padding-left: 0.4em;
margin-top: 0.2em;
}
.shoe-body .observation .arrow {
color: #445566;
margin-right: 0.4em;
}
.shoe-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.shoe-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.shoe-back tw-link {
color: #667788 !important;
}
.shoe-back:hover tw-link {
color: #c9a96e !important;
}
.shoe-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.shoe-nav tw-link {
color: #667788 !important;
}
.shoe-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="shoe-container">
<div class="shoe-header">
<span class="shoe-title">
╲ 鞋印 ╱
<span class="shoe-title-eng">— FOOTPRINT</span>
</span>
</div>
<div class="shoe-body">
壁炉外的地板上,有一枚清晰的男士警靴泥印。你蹲下来仔细查看。
<div class="footprint-detail">
<span class="label">鞋印特征:</span><br>
<span class="value">• 鞋码:约 <span class="gold">UK 9.5</span></span><br>
<span class="value">• 鞋底纹路:<span class="gold">标准制式警靴</span>,深沟槽,颗粒状防滑纹</span><br>
<span class="value">• 磨损特征:前掌外侧磨损明显,与酒窖内第二组脚印一致</span>
</div>
<div class="footprint-detail">
<span class="label">泥土分析:</span><br>
<span class="value">• 土质:<span class="gold">红褐色黏土</span>,含葡萄园特有矿物质成分</span><br>
<span class="value">• 湿度:半干状态,踩下时泥土尚软</span><br>
<span class="value">• <span class="gold">与酒窖第二组脚印土质完全一致</span></span>
</div>
<div class="observation">
<span class="arrow">▶</span> 这双鞋的主人,在案发前后去过酒窖,又来了这间客房。
</div>
</div>
<div class="shoe-footer">
<span class="shoe-back">(link:"[返回客房]")[(goto:"勘查_客房")]</span>
<span class="shoe-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.egg-container {
max-width: 680px;
margin: 0 auto;
padding: 2.8em 3em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.egg-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.egg-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.egg-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 8px;
color: #c9a96e;
}
.egg-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #667788;
font-weight: 300;
margin-left: 0.6em;
}
.egg-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 5px;
color: #445566;
font-weight: 300;
}
.egg-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.egg-body .dim {
color: #445566;
}
.egg-body .gold {
color: #c9a96e;
}
.egg-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.egg-body .code-display {
padding: 0.6em 1.2em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(0, 0, 0, 0.2);
border-radius: 3px;
text-align: center;
font-family: 'JetBrains Mono', monospace;
font-size: 1.4em;
letter-spacing: 8px;
color: #c9a96e;
}
.egg-body .code-display .placeholder {
color: #445566;
letter-spacing: 4px;
}
.egg-body .hint-text {
font-size: 0.7em;
color: #667788;
letter-spacing: 2px;
text-align: center;
margin-bottom: 0.6em;
}
.egg-body .num-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
gap: 0.4em;
margin: 0.6em 0 0.8em 0;
}
.egg-body .num-grid .num-btn {
display: block;
padding: 0.4em 0.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 3px;
text-align: center;
font-family: 'Inter', sans-serif;
font-size: 1em;
font-weight: 300;
color: #aabbcc;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
cursor: pointer;
}
.egg-body .num-grid .num-btn:hover {
border-color: rgba(201, 169, 110, 0.15);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.egg-body .num-grid .num-btn tw-link {
color: #aabbcc !important;
}
.egg-body .num-grid .num-btn:hover tw-link {
color: #c9a96e !important;
}
.egg-body .action-row {
display: flex;
justify-content: center;
gap: 2em;
margin-top: 0.8em;
}
.egg-body .action-btn {
display: inline-block;
padding: 0.3em 1.6em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.75em;
letter-spacing: 3px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.01);
}
.egg-body .action-btn:hover {
border-color: rgba(201, 169, 110, 0.12);
color: #c9a96e;
background: rgba(201, 169, 110, 0.02);
}
.egg-body .action-btn tw-link {
color: #667788 !important;
}
.egg-body .action-btn:hover tw-link {
color: #c9a96e !important;
}
.egg-body .action-btn .confirm {
color: #c9a96e;
}
.egg-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.egg-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.65em;
font-weight: 300;
letter-spacing: 4px;
transition: all 0.3s ease;
}
.egg-back tw-link {
color: #445566 !important;
}
.egg-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="egg-container">
<div class="egg-header">
<div class="egg-title">
╲ 迟到的生辰赠礼 ╱
<span class="egg-title-eng">— BIRTHDAY GIFT</span>
</div>
<div class="egg-badge">✦ 彩蛋 · 密码 ✦</div>
</div>
<div class="egg-body">
<div class="hint-text">请输入密码(提示:阿涌生日快乐)</div>
<div class="code-display">
(if: $egg_len is 0)[<span class="placeholder">· · · ·</span>](else:)[(text: $egg_code)]
</div>
<div style="font-size: 0.6em; color: #445566; text-align: right; margin-top: 0.2em; letter-spacing: 2px;">
已输入 <span style="color: #667788;">$egg_len</span> / 4 位
</div>
<div class="divider-dash">· · ·</div>
<div class="num-grid">
<div class="num-btn">(link:"1")[(set: $egg_code to $egg_code * 10 + 1)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn">(link:"2")[(set: $egg_code to $egg_code * 10 + 2)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn">(link:"3")[(set: $egg_code to $egg_code * 10 + 3)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn">(link:"4")[(set: $egg_code to $egg_code * 10 + 4)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn">(link:"5")[(set: $egg_code to $egg_code * 10 + 5)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn">(link:"6")[(set: $egg_code to $egg_code * 10 + 6)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn">(link:"7")[(set: $egg_code to $egg_code * 10 + 7)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn">(link:"8")[(set: $egg_code to $egg_code * 10 + 8)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn">(link:"9")[(set: $egg_code to $egg_code * 10 + 9)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
<div class="num-btn" style="border-color: rgba(201, 169, 110, 0.02); color: #445566;">(link:"0")[(set: $egg_code to $egg_code * 10 + 0)(set: $egg_len to $egg_len + 1)(goto:"彩蛋")]</div>
</div>
<div class="action-row">
<span class="action-btn">(link:"⌫ 清除")[(set: $egg_code to 0)(set: $egg_len to 0)(goto:"彩蛋")]</span>
<span class="action-btn">(link:"◈ 确认密码")[(goto:"彩蛋校验")]</span>
</div>
</div>
<div class="egg-footer">
<span class="egg-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<script>
// ====== 创建好结局后叙事音乐 ======
if (!document.getElementById('bgm_good_epilogue')) {
var audio = document.createElement('audio');
audio.id = 'bgm_good_epilogue';
audio.src = 'https://music.163.com/song/media/outer/url?id=1937372851';
audio.loop = true;
audio.volume = 0.4;
document.body.appendChild(audio);
}
// 停止之前可能播放的音乐
var allAudio = document.querySelectorAll('audio');
allAudio.forEach(function(a) {
if (a.id !== 'bgm_good_epilogue') {
a.pause();
a.volume = 0;
}
});
// 播放
var audio = document.getElementById('bgm_good_epilogue');
if (audio) {
audio.currentTime = 0;
audio.play().catch(function(){});
audio.volume = 0.4;
}
</script>
<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&display=swap');
.egg-container {
max-width: 720px;
margin: 0 auto;
padding: 2.8em 3em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.egg-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.egg-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.egg-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 8px;
color: #c9a96e;
}
.egg-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #667788;
font-weight: 300;
margin-left: 0.6em;
}
.egg-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 5px;
color: #445566;
font-weight: 300;
}
.egg-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.egg-body .dim {
color: #445566;
}
.egg-body .gold {
color: #c9a96e;
}
.egg-body .narrative {
color: #aabbcc;
}
.egg-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.egg-body .note-wrapper {
padding: 0.6em 0.4em;
margin: 0.6em 0;
}
.egg-body .note-paper {
padding: 1.6em 2em;
margin: 0.4em 0;
border: 2px solid rgba(201, 169, 110, 0.12);
background: rgba(201, 169, 110, 0.02);
border-radius: 3px;
position: relative;
box-shadow: 0 2px 20px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(201, 169, 110, 0.04);
}
.egg-body .note-paper::before {
content: "✧";
position: absolute;
top: -0.4em;
right: 1em;
color: #445566;
font-size: 0.6em;
letter-spacing: 4px;
background: rgba(0, 0, 0, 0.6);
padding: 0 0.4em;
}
.egg-body .note-paper .note-text {
font-family: 'Kalam', cursive;
font-weight: 300;
font-size: 1.05em;
line-height: 2.2;
color: #ccd4dc;
letter-spacing: 0.3px;
}
.egg-body .note-paper .note-text .salutation {
color: #8899aa;
font-size: 1em;
font-weight: 400;
}
.egg-body .note-paper .note-text .body-text {
color: #ccd4dc;
font-size: 0.95em;
}
.egg-body .note-paper .note-text .highlight-line {
color: #c9a96e;
font-size: 1.05em;
font-weight: 400;
display: block;
margin: 0.2em 0;
}
.egg-body .note-paper .note-text .closing {
color: #aabbcc;
font-size: 0.95em;
}
.egg-body .note-paper .note-text .sig {
text-align: right;
color: #c9a96e;
font-family: 'Kalam', cursive;
font-weight: 400;
font-size: 1.2em;
margin-top: 0.6em;
letter-spacing: 2px;
}
.egg-body .note-paper .note-text .sig .date {
color: #445566;
font-size: 0.6em;
font-family: 'Inter', sans-serif;
letter-spacing: 2px;
font-weight: 300;
}
.egg-body .gift-box {
padding: 0.6em 1.2em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 0 3px 3px 0;
}
.egg-body .gift-box .label {
color: #667788;
font-size: 0.75em;
letter-spacing: 2px;
}
.egg-body .gift-box .desc {
color: #aabbcc;
font-size: 0.9em;
}
.egg-body .gift-box .desc .gold {
color: #c9a96e;
}
.egg-body .btn-group {
display: flex;
justify-content: center;
gap: 2em;
margin-top: 1.2em;
}
.egg-body .btn-action {
display: inline-block;
padding: 0.4em 2em;
border: 1px solid rgba(201, 169, 110, 0.12);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.egg-body .btn-action:hover {
border-color: rgba(201, 169, 110, 0.25);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.egg-body .btn-action tw-link {
color: #667788 !important;
}
.egg-body .btn-action:hover tw-link {
color: #c9a96e !important;
}
.egg-body .draft-paper {
padding: 1.2em 1.6em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
font-family: 'JetBrains Mono', monospace;
font-size: 0.78em;
color: #667788;
line-height: 2;
letter-spacing: 0.3px;
position: relative;
}
.egg-body .draft-paper::before {
content: "📄 线索草稿 · 蒋易";
position: absolute;
top: -0.6em;
left: 0.8em;
background: rgba(0, 0, 0, 0.8);
padding: 0 0.6em;
font-family: 'Inter', sans-serif;
font-size: 0.6em;
color: #445566;
letter-spacing: 2px;
}
.egg-body .draft-paper .draft-line {
padding: 0.1em 0.2em;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
}
.egg-body .draft-paper .draft-line .label {
color: #445566;
}
.egg-body .draft-paper .draft-line .content {
color: #8899aa;
}
.egg-body .draft-paper .draft-line .content .gold {
color: #c9a96e;
}
.egg-body .draft-paper .draft-line .content .highlight {
color: #c9a96e;
}
.egg-body .draft-paper .draft-line .content .redacted {
color: #445566;
text-decoration: line-through;
text-decoration-color: #445566;
}
.egg-body .draft-paper .draft-line .content .underline {
text-decoration: underline;
text-decoration-color: rgba(201, 169, 110, 0.2);
}
.egg-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.egg-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.65em;
font-weight: 300;
letter-spacing: 4px;
transition: all 0.3s ease;
}
.egg-back tw-link {
color: #445566 !important;
}
.egg-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="egg-container">
<div class="egg-header">
<div class="egg-title">
╲ 迟到的生辰赠礼 ╱
<span class="egg-title-eng">— BIRTHDAY GIFT</span>
</div>
<div class="egg-badge">✦ 彩蛋 · 传承 ✦</div>
</div>
<div class="egg-body">
<span class="narrative">今日是你正式接任侦缉警长的日子。办公室杂物间储物柜被锁许久,保洁整理时发现一个封存完好的牛皮纸礼盒,礼盒封皮是汉伯里裁坊专用包装,侧面手写你的名字——<span class="gold">天宇·托比</span>。</span>
<span class="narrative">储物柜钥匙是蒋易警长生前随身保管,档案交接时一并交到你手上。你拆开锁扣,翻开礼盒。</span>
<div class="divider-dash">· · ·</div>
<span class="narrative">盒内第一层:</span>
<span class="narrative">一张折叠工整的手写便签,是蒋易熟悉的字迹——</span>
<div class="note-wrapper">
<div class="note-paper">
<div class="note-text">
<span class="salutation">天宇,</span>
<br><br>
<span class="body-text">07月29日是你的生日。前段时间酒庄连环案子堆在一起,一直抽不出空。我在汉伯里裁坊给你定制了一套合身的正装西装,以后出勤、参加案件庭审都能穿。</span>
<br><br>
<span class="body-text">这段时间你踏实细心,很多次悄悄帮我整理财务流水、登记走访笔录,我都看在眼里。若哪天我手上关于银丘酒庄的调查能顺利收尾,你完全有能力独当一面,扛起侦缉警长的职责。</span>
<br><br>
<span class="body-text">其实有句话我一直想当面跟你说——</span>
<br><br>
<span class="body-text">我知道自己走的这条路不轻松,银丘酒庄的水比我预想的要深得多。我做这些事,不是为了什么升职加薪,只是不想让那些藏在黑暗里的人继续逍遥法外。</span>
<br><br>
<span class="highlight-line">如果有一天我没能亲自把案子收尾,</span>
<span class="highlight-line" style="font-size: 1.2em; letter-spacing: 1px;">我希望接下这个案子的人是你。</span>
<br>
<span class="body-text" style="color: #aabbcc; font-size: 0.95em;">你比我更年轻,也更机灵。我信你能走到最后。</span>
<br><br>
<span class="closing">纸短,万事小心。</span>
<div class="sig">
—— 蒋易
<div class="date">1998.10.26</div>
</div>
</div>
</div>
</div>
<div class="divider-dash">· · ·</div>
<div class="gift-box">
<div class="label">▼ 礼盒第二层</div>
<div class="desc">一套全新手工定制<span class="gold">深色细条纹西装</span>,版型贴合你的身形,口袋内附赠裁坊定制卡。</div>
</div>
<div class="gift-box" style="border-left-color: rgba(201, 169, 110, 0.08);">
<div class="label">▼ 礼盒底层</div>
<div class="desc">一张泛黄的纸条,是蒋易提前记录的<span class="gold">线索草稿</span>——</div>
</div>
<div class="draft-paper">
<div class="draft-line">
<span class="label">佩金丝酒馆 · 1997.08</span><br>
<span class="content">—— 酒水样本送检途中"丢失"。</span><br>
<span class="content"><span class="highlight">疑点:押送警员未受处分,三周后调离。调令签字人:<span class="gold">莱昂·吕</span></span></span>
</div>
<div class="draft-line">
<span class="label">老园丁 · 1998.01</span><br>
<span class="content">—— 死亡原因:胰岛素过量注射(死者无糖尿病史)。</span><br>
<span class="content"><span class="highlight">疑点:账本与酒窖备用钥匙"同时失窃"。结案签字人:<span class="gold">莱昂·吕</span></span></span>
</div>
<div class="draft-line">
<span class="label">警署档案室 · 1998.05</span><br>
<span class="content">—— 起火点:金属文件柜内部(仅有一盏照明灯)。</span><br>
<span class="content"><span class="highlight">疑点:起火前一周刚做过检修。"电线老化"说不成立。结案签字人:<span class="gold">莱昂·吕</span></span></span>
</div>
<div class="draft-line" style="border-bottom: none;">
<span class="label">银丘酒庄 · 财务</span><br>
<span class="content">—— 马库斯集团与酒庄之间 <span class="gold">£203,400</span> 账目异常(标注:税务调整款)</span><br>
<span class="content"><span class="highlight">关联方:<span class="gold">朵蒂·李 · 嘉诚·菲茨威廉</span></span></span>
</div>
</div>
<div class="divider-dash">· · ·</div>
<span class="narrative">你抚摸着西装布料,窗外秋雨和案发当晚一模一样。</span>
<span class="narrative">蒋易没能亲眼看到黑幕连根拔除,没能亲眼见证你升职,但这份迟来的生日礼物,连同他未完成的追查心愿,此刻全部交到了你的手里。</span>
<div class="divider-dash">· · ·</div>
<div class="btn-group">
<span class="btn-action">(link:"◈ 案件终结")[(goto:"最终画面")]</span>
</div>
</div>
](css: "tw-sidebar { display: none; }")[]
(if: $egg_code is 0729)[
(goto:"彩蛋内容")
]
(else:)[
(goto:"彩蛋错误")
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.8em 3em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 5px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .dim {
color: #445566;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .code-display {
padding: 0.6em 1.2em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(0, 0, 0, 0.15);
border-radius: 3px;
text-align: center;
font-family: 'JetBrains Mono', monospace;
font-size: 1.4em;
letter-spacing: 8px;
color: #445566;
}
.fail-body .code-display .wrong {
color: #6a4a4a;
text-decoration: line-through;
text-decoration-color: #5a3a3a;
}
.fail-body .btn-retry {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.12);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-retry:hover {
border-color: rgba(201, 169, 110, 0.25);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-retry tw-link {
color: #667788 !important;
}
.fail-body .btn-retry:hover tw-link {
color: #c9a96e !important;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.65em;
font-weight: 300;
letter-spacing: 4px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 密码错误 ╱
<span class="fail-title-eng">— INCORRECT</span>
</div>
<div class="fail-badge">✦ 彩蛋 · 重试 ✦</div>
</div>
<div class="fail-body">
<span class="narrative">你输入的密码不正确。</span>
<div class="code-display">
<span class="wrong">(text: $egg_code)</span>
</div>
<div style="font-size: 0.7em; color: #445566; text-align: center; letter-spacing: 2px; margin-top: 0.2em;">
· 提示:阿涌生日快乐 ·
</div>
<div class="divider-dash">· · ·</div>
<div style="text-align: center; margin-top: 0.6em;">
<span class="btn-retry">(link:"◈ 再试一次")[(set: $egg_code to 0)(set: $egg_len to 0)(goto:"彩蛋")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
=== 指控结果 ===
(set: $count to 0)
(if: $accuse_marcus)[(set: $count to $count + 1)]
(if: $accuse_leon)[(set: $count to $count + 1)]
(if: $accuse_wil)[(set: $count to $count + 1)]
(if: $accuse_dottie)[(set: $count to $count + 1)]
(if: $accuse_richard)[(set: $count to $count + 1)]
(if: $accuse_carrington)[(set: $count to $count + 1)]
(if: $accuse_liu)[(set: $count to $count + 1)]
(set: $suspects_ok to false)
(if: $count is 3 and $accuse_marcus and $accuse_leon and $accuse_wil)[(set: $suspects_ok to true)]
(set: $evidence_ok to true)
(if: $accuse_022 is false)[(set: $evidence_ok to false)]
(if: $accuse_023 is false)[(set: $evidence_ok to false)]
(if: $accuse_024 is false)[(set: $evidence_ok to false)]
(if: $accuse_025 is false)[(set: $evidence_ok to false)]
(if: $accuse_026 is false)[(set: $evidence_ok to false)]
(if: $suspects_ok and $evidence_ok)[(goto:"终极完美结局")]
(else:)[
(set: $fail_count to $fail_count + 1)
(if: $fail_count is 1)[(goto:"错误结局_1")]
(else-if: $fail_count is 2)[(goto:"错误结局_2")]
(else-if: $fail_count is 3)[(goto:"错误结局_3")]
(else-if: $fail_count is 4)[(goto:"错误结局_4")]
(else:)[(goto:"错误结局_1b")]
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.result-container {
max-width: 720px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.5s ease;
}
.result-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.result-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.result-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 6px;
color: #c9a96e;
}
.result-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.result-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.result-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.result-body .highlight {
color: #c9a96e;
}
.result-body .dim {
color: #445566;
}
.result-body .success-icon {
font-size: 1.2em;
color: #c9a96e;
letter-spacing: 4px;
}
.result-body .fail-icon {
font-size: 1.2em;
color: #445566;
letter-spacing: 4px;
}
.result-body .feedback-box {
padding: 0.8em 1.4em;
margin: 0.6em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
}
.result-body .feedback-box .analysis {
color: #ccd4dc;
font-size: 0.9em;
line-height: 1.9;
}
.result-body .feedback-box .analysis .gold {
color: #c9a96e;
}
.result-body .unlock-box {
padding: 0.6em 1.2em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 3px;
text-align: center;
}
.result-body .unlock-box .label {
font-size: 0.7em;
color: #445566;
letter-spacing: 3px;
}
.result-body .unlock-box .name {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #c9a96e;
letter-spacing: 2px;
}
.result-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.result-body .btn-group {
display: flex;
justify-content: center;
gap: 2em;
margin-top: 0.6em;
}
.result-body .btn-action {
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 3px;
color: #667788;
transition: all 0.3s ease;
padding: 0.3em 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.result-body .btn-action:hover {
color: #c9a96e;
border-bottom-color: rgba(201, 169, 110, 0.3);
}
.result-body .btn-action tw-link {
color: #667788 !important;
}
.result-body .btn-action:hover tw-link {
color: #c9a96e !important;
}
.result-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.result-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.result-back tw-link {
color: #667788 !important;
}
.result-back:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="result-container">
<div class="result-header">
<span class="result-title">
╲ 比对结果 ╱
<span class="result-title-eng">— ANALYSIS OUTPUT</span>
</span>
<span class="result-badge">CROSS-REF</span>
</div>
<div class="result-body">
(if: ($choice1 contains "008 小瓶指纹提取报告" and $choice2 contains "017 酒保威尔审讯笔录") or ($choice1 contains "017 酒保威尔审讯笔录" and $choice2 contains "008 小瓶指纹提取报告"))[
<span class="success-icon">◈ ◈ ◈</span>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对成功</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box">
<div class="analysis">
小瓶指纹确认为 <span class="gold">酒保威尔</span> 所有,<br>
审讯笔录写明 <span class="gold">马库斯</span> 授意投毒。<br><br>
指纹归属人与供述人一致,投毒链条完整闭合。
</div>
</div>
(set: $clue022 to 1)
<div class="unlock-box">
<div class="label">▸ 已解锁</div>
<div class="name">档案022:投毒全过程证据链汇总</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
(else-if: ($choice1 contains "005 死者初步尸检报告" and $choice2 contains "010 冰毛巾凶器残留物证记录") or ($choice1 contains "010 冰毛巾凶器残留物证记录" and $choice2 contains "005 死者初步尸检报告"))[
<span class="success-icon">◈ ◈ ◈</span>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对成功</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box">
<div class="analysis">
尸检报告表明冰制湿毛巾造成的头部钝伤仅为 <span class="gold">表皮外伤</span>,无法致死;<br>
壁炉纤维物证证实有人将冰毛巾凶器丢弃在 <span class="gold">马库斯客房</span> 壁炉销毁。
</div>
</div>
(set: $clue023 to 1)
<div class="unlock-box">
<div class="label">▸ 已解锁</div>
<div class="name">档案023:部分死因与凶器区分鉴定记录</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
(else-if: ($choice1 contains "004 黑色厚框眼镜物证记录" and $choice2 contains "006 已故园丁手写日记原件") or ($choice1 contains "006 已故园丁手写日记原件" and $choice2 contains "004 黑色厚框眼镜物证记录"))[
<span class="success-icon">◈ ◈ ◈</span>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对成功</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box">
<div class="analysis">
园丁日记记载 <span class="gold">莱昂·吕</span> 常年佩戴同款黑框厚眼镜,<br>
与酒窖遗留眼镜碎片特征完全吻合。<br><br>
证实案发当晚 <span class="gold">莱昂·吕</span> 曾独自进入酒窖与死者见面。
</div>
</div>
(set: $clue024 to 1)
<div class="unlock-box">
<div class="label">▸ 已解锁</div>
<div class="name">档案024:莱昂·吕外貌特征交叉验证报告</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
(else-if: ($choice1 contains "021 莱昂·吕案件驳回签字记录" and $choice2 contains "020 往年积压旧案封存残卷") or ($choice1 contains "020 往年积压旧案封存残卷" and $choice2 contains "021 莱昂·吕案件驳回签字记录"))[
<span class="success-icon">◈ ◈ ◈</span>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对成功</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box">
<div class="analysis">
所有损害 <span class="gold">银丘酒庄</span>、<span class="gold">马库斯集团</span> 利益的案件卷宗,<br>
全部带有 <span class="gold">莱昂·吕</span> 的驳回签字。<br><br>
多年来他持续包庇灰色产业链。
</div>
</div>
(set: $clue025 to 1)
<div class="unlock-box">
<div class="label">▸ 已解锁</div>
<div class="name">档案025:警署内部包庇完整证据链</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
(else-if: ($choice1 contains "001 马库斯集团财务造假流水单据" and $choice2 contains "009 朵蒂与莱昂·吕私人邮件") or ($choice1 contains "009 朵蒂与莱昂·吕私人邮件" and $choice2 contains "001 马库斯集团财务造假流水单据"))[
<span class="success-icon">◈ ◈ ◈</span>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对成功</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box">
<div class="analysis">
财务流水与审计底稿相互印证,<br>
<span class="gold">马库斯集团</span> 长期财务亏空、账目造假,<br>
<span class="gold">嘉诚</span> 审计全程知情并配合遮掩。
</div>
</div>
(set: $clue026 to 1)
<div class="unlock-box">
<div class="label">▸ 已解锁</div>
<div class="name">档案026:集团与酒庄存在商业舞弊贿赂事实</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
(else-if: ($choice1 contains "012 酒馆店主书面传闻证词" and $choice2 contains "013 马库斯酒馆消费台账") or ($choice1 contains "013 马库斯酒馆消费台账" and $choice2 contains "012 酒馆店主书面传闻证词"))[
<span class="success-icon">◈ ◈ ◈</span>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对成功</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box">
<div class="analysis">
酒馆笔录与消费台账记录显示,<br>
<span class="gold">马库斯</span> 多次酒后扬言报复调查自己的蒋易,<br>
情绪极端,存在投毒报复的 <span class="gold">主观动机</span>。
</div>
</div>
(set: $clue027 to 1)
<div class="unlock-box">
<div class="label">▸ 已解锁</div>
<div class="name">档案027:马库斯作案动机佐证报告</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
(else-if: ($choice1 contains "011 马库斯与朵蒂私人邮件" and $choice2 contains "010 冰毛巾凶器残留物证记录") or ($choice1 contains "010 冰毛巾凶器残留物证记录" and $choice2 contains "011 马库斯与朵蒂私人邮件"))[
<span class="success-icon">◈ ◈ ◈</span>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对成功</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box">
<div class="analysis">
马库斯邮件中 <span class="gold">"只要蒋易停止追查,我自有办法补偿"</span> 与客房冰毛巾凶器相互印证。<br><br>
<span class="gold">莱昂·吕</span> 刻意嫁祸马库斯的闭环成立。
</div>
</div>
(set: $clue028 to 1)
<div class="unlock-box">
<div class="label">▸ 已解锁</div>
<div class="name">档案028:莱昂·吕行凶与嫁祸闭环报告</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
(else-if: ($choice1 contains "003 红酒专栏品鉴手稿复印件" and $choice2 contains "014 未刊发负面专栏底稿") or ($choice1 contains "014 未刊发负面专栏底稿" and $choice2 contains "003 红酒专栏品鉴手稿复印件"))[
<span class="success-icon">◈ ◈ ◈</span>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对成功</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box">
<div class="analysis">
公开刊发的品鉴手稿用词克制、保守中立;<br>
未对外发布的底稿详实记录了酒庄造假黑幕。<br><br>
<span class="gold">理查德·广</span> 长期暗中收集罪证,保留负面底稿作为检举证据。
</div>
</div>
(set: $clue029 to 1)
<div class="unlock-box">
<div class="label">▸ 已解锁</div>
<div class="name">档案029:理查德·广双面稿件清白佐证报告与告发证据</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
(else:)[
<span class="fail-icon">◇ ◇ ◇</span>
<span style="color: #445566; font-size: 0.75em; letter-spacing: 2px; margin-left: 0.6em;">比对失败</span>
<div class="divider-dash">· · ·</div>
<div class="feedback-box" style="border-left-color: rgba(445, 566, 102, 0.2);">
<div class="analysis" style="color: #667788;">
所选档案之间不存在直接关联。<br>
<span style="color: #445566; font-size: 0.85em;">请返回选择另外两份档案重新比对。</span>
</div>
</div>
<div class="btn-group">
<span class="btn-action">(link:"⟲ 继续比对")[(goto:"交叉比对")]</span>
<span class="btn-action">(link:"⌂ 返回主界面")[(goto:"主界面")]</span>
</div>
]
</div>
<!-- ====== 初窥门径成就 ====== -->
(if: $first_logic is 0 and ($clue022 is 1 or $clue023 is 1 or $clue024 is 1 or $clue025 is 1 or $clue026 is 1 or $clue027 is 1 or $clue028 is 1 or $clue029 is 1))[
(set: $first_logic to 1)
(dialog: "🔑 初窥门径", "第一条推理链条,已经握在你手中")
]
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.receipt-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeUp 0.6s ease;
}
.receipt-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.receipt-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.receipt-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.receipt-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.receipt-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.receipt-body .highlight {
color: #c9a96e;
}
.receipt-body .dim {
color: #445566;
}
.receipt-body .receipt-line {
padding: 0.3em 0.8em;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
font-size: 0.85em;
color: #aabbcc;
}
.receipt-body .receipt-line .label {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.receipt-body .receipt-line .value {
color: #ccd4dc;
}
.receipt-body .receipt-line .value .gold {
color: #c9a96e;
}
.receipt-body .note {
font-size: 0.75em;
color: #445566;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.4em;
margin-top: 0.4em;
}
.receipt-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.receipt-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.receipt-back tw-link {
color: #667788 !important;
}
.receipt-back:hover tw-link {
color: #c9a96e !important;
}
.receipt-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.receipt-nav tw-link {
color: #667788 !important;
}
.receipt-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="receipt-container">
<div class="receipt-header">
<span class="receipt-title">
╲ 拒收单 ╱
<span class="receipt-title-eng">— REJECTION</span>
</span>
</div>
<div class="receipt-body">
楠森·王把拒收单原件夹在透明文件袋里带回来的。纸张质地很好,是高档酒庄惯用的压纹纸。
<div class="receipt-line">
<span class="label">发件人:</span>
<span class="value">银丘酒庄 · 朵蒂·李</span>
</div>
<div class="receipt-line">
<span class="label">收件人:</span>
<span class="value"><span class="gold">理查德·广</span></span>
</div>
<div class="receipt-line">
<span class="label">物品:</span>
<span class="value">高端红酒礼品 · 1996年份珍藏</span>
</div>
<div class="receipt-line">
<span class="label">数量:</span>
<span class="value">一瓶 · 礼盒装</span>
</div>
<div class="receipt-line">
<span class="label">送达方式:</span>
<span class="value">银丘酒庄专人递送</span>
</div>
<div class="receipt-line">
<span class="label">送达日期:</span>
<span class="value">1998年9月28日</span>
</div>
<div class="receipt-line" style="border-bottom: none;">
<span class="label">处理结果:</span>
<span class="value" style="color: #c96e6e;">收件人拒收 · 原路退回</span>
</div>
<div class="note">
◈ 拒收单背面有手写备注,笔迹与正文不同:<br>
<span style="color: #c9a96e;">"一箱酒就想把稿子换了,没那么便宜的事!"</span>
<br>
<span style="color: #445566; font-size: 0.85em; display: block;">—— 楠森·王标注:笔迹与理查德·广的专栏稿件笔迹一致。备注写在拒收单背面,墨水略有洇散,推断为收到后数日内补写。</span>
</div>
</div>
<div class="receipt-footer">
<span class="receipt-back">(link:"[返回报社]")[(goto:"勘查_报社")]</span>
<span class="receipt-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.article-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeUp 0.6s ease;
}
.article-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.article-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.article-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.article-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.article-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.article-body .highlight {
color: #c9a96e;
}
.article-body .dim {
color: #445566;
}
.article-body .article-text {
padding: 0.4em 0.8em;
border-left: 2px solid rgba(201, 169, 110, 0.04);
font-size: 0.9em;
color: #aabbcc;
line-height: 2.2;
}
.article-body .article-text .gold {
color: #c9a96e;
}
.article-body .editor-note {
font-size: 0.8em;
color: #667788;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.4em;
margin-top: 0.6em;
}
.article-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.article-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.article-back tw-link {
color: #667788 !important;
}
.article-back:hover tw-link {
color: #c9a96e !important;
}
.article-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.article-nav tw-link {
color: #667788 !important;
}
.article-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="article-container">
<div class="article-header">
<span class="article-title">
╲ 未刊发稿件 ╱
<span class="article-title-eng">— DRAFT</span>
</span>
</div>
<div class="article-body">
楠森·王把稿件复印件递给你。纸张边角微微卷起,有多处涂改痕迹。
<div style="font-size: 0.7em; color: #445566; letter-spacing: 2px; margin-bottom: 0.4em;">《纽斯》报社 · 存稿 · 囡森·王翻拍</div>
<div class="article-text">
<span style="color: #8899aa; font-size: 0.85em;">标题:银丘酒庄 · 光鲜表面下的隐忧</span>
<br><br>
近日接获多位业内人士反映,银丘酒庄近两年的葡萄酒品质出现明显下滑。经多方走访调查,初步确认以下问题:
<br><br>
<span class="gold">1. 葡萄病虫害管理失控</span><br>
酒庄的葡萄园自1997年以来多次爆发真菌感染,但未按规定申报,也未采取有效防治措施。<br>
知情人士称,感染面积已超过葡萄园总面积的百分之四十,部分地块连续两年颗粒无收。<br>
酒庄对外宣传的"有机种植"与实际操作存在显著出入。
<br><br>
<span class="gold">2. 酒水品质造假</span><br>
据匿名酒庄内部人员透露,部分年份的珍藏款葡萄酒并非原桶灌装,而是掺入了低价产区原酒。<br>
该内部人员提供了三批次灌装记录复印件,其中两批次与对外宣称的年份、产地不符。<br>
这批掺假酒品主要流向伦敦高端市场,零售价每瓶在一百二十至两百八十英镑之间。
<br><br>
<span class="gold">3. 税务记录存疑</span><br>
记者查阅了银丘酒庄近三年的公开财务文件,发现其申报的葡萄采购量与产量之间存在明显缺口。<br>
缺口对应的价值约为每年十五万至二十万英镑,去向不明。
<br><br>
截至发稿前,银丘酒庄未就以上问题作出回应。
<br><br>
<span style="color: #667788; font-size: 0.8em;">—— 稿件标注日期:1998年9月20日</span>
</div>
<div class="editor-note">
◈ 稿件底部有一行铅笔批注,笔迹与正文不同:<br>
<span style="color: #c9a96e;">"建议暂缓刊发。"</span>
<span style="color: #445566; font-size: 0.85em; display: block;">—— 楠森·王标注:该批注疑似主编笔迹,未署名,无日期。</span>
</div>
</div>
<div class="article-footer">
<span class="article-back">(link:"[返回报社]")[(goto:"勘查_报社")]</span>
<span class="article-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.charge-container {
max-width: 720px;
margin: 0 auto;
padding: 2.5em 3em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.charge-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.charge-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 2px solid rgba(201, 169, 110, 0.15);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.charge-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 8px;
color: #e8d5a0;
}
.charge-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #667788;
font-weight: 300;
margin-left: 0.8em;
}
.charge-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 4px;
color: #667788;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.charge-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.charge-body .highlight {
color: #e8d5a0;
}
.charge-body .dim {
color: #445566;
}
.charge-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1em;
color: #8899aa;
letter-spacing: 4px;
margin: 1.2em 0 0.4em 0;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.charge-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.charge-body .notice-box {
padding: 0.8em 1.4em;
margin: 0.6em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
}
.charge-body .notice-box .text {
color: #aabbcc;
font-size: 0.9em;
line-height: 1.8;
}
.charge-body .notice-box .text .gold {
color: #e8d5a0;
}
.charge-body .checkbox-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.2em 1em;
margin: 0.4em 0 0.6em 0;
padding: 0.4em 0.8em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
background: rgba(201, 169, 110, 0.01);
}
.charge-body .checkbox-grid .item {
padding: 0.2em 0.4em;
font-size: 0.82em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.3px;
}
.charge-body .checkbox-grid .item tw-checkbox {
color: #aabbcc;
}
.charge-body .checkbox-grid .item .label {
color: #aabbcc;
}
.charge-body .checkbox-grid .item .label .gold {
color: #e8d5a0;
}
.charge-body .checkbox-grid .item .label .dim {
color: #556677;
}
.charge-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 0.8em 0;
font-size: 0.6em;
}
.charge-body .btn-group {
display: flex;
justify-content: center;
gap: 2em;
margin-top: 1.2em;
}
.charge-body .btn-submit {
display: inline-block;
padding: 0.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.3);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.85em;
letter-spacing: 5px;
color: #8899aa;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.charge-body .btn-submit:hover {
border-color: rgba(201, 169, 110, 0.6);
color: #e8d5a0;
background: rgba(201, 169, 110, 0.06);
}
.charge-body .btn-submit tw-link {
color: #8899aa !important;
}
.charge-body .btn-submit:hover tw-link {
color: #e8d5a0 !important;
}
.charge-body .btn-back {
display: inline-block;
padding: 0.5em 2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 3px;
color: #556677;
transition: all 0.3s ease;
background: transparent;
}
.charge-body .btn-back:hover {
border-color: rgba(201, 169, 110, 0.15);
color: #8899aa;
}
.charge-body .btn-back tw-link {
color: #556677 !important;
}
.charge-body .btn-back:hover tw-link {
color: #8899aa !important;
}
.charge-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.charge-back {
font-family: 'Inter', sans-serif;
color: #556677;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.charge-back tw-link {
color: #556677 !important;
}
.charge-back:hover tw-link {
color: #8899aa !important;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="charge-container">
<div class="charge-header">
<span class="charge-title">
╲ 提交指控 ╱
<span class="charge-title-eng">— FORMAL CHARGE</span>
</span>
<span class="charge-badge">公正 · 严肃</span>
</div>
<div class="charge-body">
(if: $clue022 is 0 or $clue023 is 0 or $clue024 is 0 or $clue025 is 0 or $clue026 is 0)[
<div style="text-align: center; padding: 1.2em 0;">
<span style="font-size: 1.2em; color: #445566; letter-spacing: 4px;">◈ ◈ ◈</span>
</div>
<div class="notice-box" style="border-left-color: rgba(201, 169, 110, 0.04);">
<div class="text" style="color: #667788;">
证据链尚未完整收集。<br>
缺失投毒支线核心卷宗,无法提交结案指控。
</div>
</div>
<div style="text-align: center; margin-top: 1.2em;">
<span class="btn-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
](else:)[
<div style="text-align: center; padding: 0.4em 0 0.2em 0;">
<span style="font-size: 0.7em; color: #667788; letter-spacing: 4px;">◆ 证据链已完整 · 请作出指控 ◆</span>
</div>
<div class="divider-dash">· · ·</div>
<div class="section-head">▼ 指控对象</div>
<div style="font-size: 0.7em; color: #556677; letter-spacing: 2px; margin-bottom: 0.2em;">(可多选)</div>
<div class="checkbox-grid">
<div class="item">(checkbox: bind $accuse_marcus, "马库斯·土豆")</div>
<div class="item">(checkbox: bind $accuse_leon, "莱昂·吕")</div>
<div class="item">(checkbox: bind $accuse_wil, "威尔")</div>
<div class="item">(checkbox: bind $accuse_dottie, "朵蒂·李勋爵")</div>
<div class="item">(checkbox: bind $accuse_richard, "理查德·广")</div>
<div class="item">(checkbox: bind $accuse_carrington, "嘉诚·菲茨威廉")</div>
<div class="item">(checkbox: bind $accuse_liu, "刘同")</div>
</div>
<div class="section-head">▼ 提交证据</div>
<div style="font-size: 0.7em; color: #556677; letter-spacing: 2px; margin-bottom: 0.2em;">(可多选)</div>
<div class="checkbox-grid">
<div class="item">(checkbox: bind $accuse_022, "档案022:投毒全过程证据链汇总")</div>
<div class="item">(checkbox: bind $accuse_023, "档案023:死因与凶器鉴定记录")</div>
<div class="item">(checkbox: bind $accuse_024, "档案024:莱昂·吕外貌特征交叉验证报告")</div>
<div class="item">(checkbox: bind $accuse_025, "档案025:警署内部包庇完整证据链")</div>
<div class="item">(checkbox: bind $accuse_026, "档案026:集团与酒庄商业舞弊贿赂事实")</div>
(if: $clue027 is 1)[
<div class="item">(checkbox: bind $accuse_027, "档案027:马库斯作案动机佐证报告")</div>
]
(if: $clue028 is 1)[
<div class="item">(checkbox: bind $accuse_028, "档案028:莱昂·吕行凶与嫁祸闭环报告")</div>
]
(if: $clue029 is 1)[
<div class="item">(checkbox: bind $accuse_029, "档案029:理查德·广双面稿件报告")</div>
]
</div>
<div class="divider-dash">· · ·</div>
<div style="font-size: 0.6em; color: #445566; text-align: center; letter-spacing: 2px; line-height: 1.6;">
<span style="color: #667788;">签署人:天宇·托比</span><br>
<span>苏塞克斯乡镇警署 · 侦缉警员</span>
</div>
<div class="btn-group">
<span class="btn-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
<span class="btn-submit">(link:"◈ 正式提交")[(goto:"执行指控")]</span>
</div>
]
</div>
<div class="charge-footer">
<span class="charge-back">(link:"[返回档案室]")[(goto:"线索档案室")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.analysis-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.15);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
animation: fadeUp 0.6s ease;
}
.analysis-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.analysis-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.12);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.analysis-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 6px;
color: #e8d5a0;
}
.analysis-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #667788;
font-weight: 300;
margin-left: 0.8em;
}
.analysis-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.analysis-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #8899aa;
letter-spacing: 3px;
margin: 1.4em 0 0.4em 0;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.analysis-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.analysis-body .case-card {
padding: 0.6em 1.2em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
}
.analysis-body .case-card .case-name {
color: #e8d5a0;
font-weight: 400;
letter-spacing: 1px;
}
.analysis-body .case-card .case-detail {
color: #aabbcc;
font-size: 0.85em;
line-height: 1.8;
}
.analysis-body .case-card .case-detail .highlight {
color: #c9a96e;
}
.analysis-body .comparison-box {
padding: 0.8em 1.2em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 3px;
}
.analysis-body .comparison-box .item {
padding: 0.3em 0;
border-bottom: 1px solid rgba(201, 169, 110, 0.03);
font-size: 0.85em;
color: #aabbcc;
}
.analysis-body .comparison-box .item:last-child {
border-bottom: none;
}
.analysis-body .comparison-box .item .label {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.analysis-body .comparison-box .item .value {
color: #ccd4dc;
}
.analysis-body .comparison-box .item .value .gold {
color: #e8d5a0;
}
.analysis-body .conclusion-box {
padding: 0.8em 1.2em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(201, 169, 110, 0.04);
border-radius: 3px;
text-align: center;
}
.analysis-body .conclusion-box .text {
color: #ccd4dc;
font-size: 0.9em;
line-height: 1.8;
}
.analysis-body .conclusion-box .text .gold {
color: #e8d5a0;
font-weight: 400;
}
.analysis-body .deduction-box {
padding: 0.6em 1.2em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
}
.analysis-body .deduction-box .step {
padding: 0.3em 0.4em;
font-size: 0.85em;
color: #aabbcc;
line-height: 1.8;
}
.analysis-body .deduction-box .step .num {
color: #556677;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.6em;
}
.analysis-body .deduction-box .step .gold {
color: #e8d5a0;
}
.analysis-body .unlock-notice {
text-align: center;
font-size: 0.85em;
color: #e8d5a0;
letter-spacing: 2px;
margin-top: 0.6em;
padding: 0.6em 1em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
background: rgba(201, 169, 110, 0.02);
}
.analysis-body .unlock-notice .link {
margin-top: 0.4em;
font-size: 0.9em;
}
.analysis-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.08);
}
.analysis-back {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.analysis-back tw-link {
color: #8899aa !important;
}
.analysis-back:hover tw-link {
color: #e8d5a0 !important;
}
.analysis-nav {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.analysis-nav tw-link {
color: #8899aa !important;
}
.analysis-nav:hover tw-link {
color: #e8d5a0 !important;
}
@keyframes fadeUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="analysis-container">
<div class="analysis-header">
<span class="analysis-title">
╲ 旧案分析比对 ╱
<span class="analysis-title-eng">— CASE COMPARISON</span>
</span>
</div>
<div class="analysis-body">
你翻开020号档案,三起旧案的卷宗并列摊开在桌上。那些被草草结案的往事,现在被并排放置——许多细节开始重合。
<div class="section-head">▼ 三起案件概述</div>
<div class="case-card">
<span class="case-name">1997年8月 · 佩金丝酒馆集体中毒案</span>
<div class="case-detail">
十七人送医,关键酒水样本在送检途中"丢失"。负责押送的警员三周后调离苏塞克斯。<br>
<span class="highlight">疑点:样本丢失的时间点,与银丘酒庄的一次大额转账高度吻合。</span>
</div>
</div>
<div class="case-card">
<span class="case-name">1998年1月 · 老园丁遇害案</span>
<div class="case-detail">
老园丁死于过量胰岛素注射,现场被判定为"自杀"。屋内账本与酒窖备用钥匙同时失窃,未找到强行入侵痕迹。<br>
<span class="highlight">疑点:老园丁没有糖尿病史。钥匙失窃从未被纳入调查范围。</span>
</div>
</div>
<div class="case-card">
<span class="case-name">1998年5月 · 警署档案室纵火案</span>
<div class="case-detail">
档案室深夜起火,起火点位于金属文件柜内部。超过80%的案卷与银丘酒庄或马库斯集团有关。<br>
<span class="highlight">疑点:金属柜内仅有一盏照明灯,且案发前一周刚做过检修。"电线老化"说不成立。</span>
</div>
</div>
<div class="section-head">▼ 比对分析</div>
<div class="comparison-box">
<div class="item">
<span class="label">共同点一:</span>
<span class="value">三起案件均涉及 <span class="gold">银丘酒庄</span> 或 <span class="gold">马库斯酒水集团</span></span>
</div>
<div class="item">
<span class="label">共同点二:</span>
<span class="value">三起案件均在 <span class="gold">关键证据环节</span> 出现"意外中断"——样本丢失、现场判断错误、证据销毁</span>
</div>
<div class="item">
<span class="label">共同点三:</span>
<span class="value">三起案件的结案时间均在 <span class="gold">蒋易警长接手相关调查之前</span></span>
</div>
<div class="item">
<span class="label">共同点四:</span>
<span class="value">卷宗末尾的结案签字栏中,<span class="gold">三份签字的笔迹完全相同</span></span>
</div>
</div>
<div class="section-head">▼ 结论</div>
<div class="conclusion-box">
<div class="text">
三起案件并非孤立事件。它们之间存在 <span class="gold">系统性关联</span>——<br>
莱昂·吕利用职务之便,将涉及银丘酒庄的旧案逐一压下。<br><br>
<span style="color: #667788; font-size: 0.85em;">签字笔迹比对结果 + 物证链交叉验证 + 证人证词佐证 → 指向同一个人。</span>
</div>
</div>
(if: $clue021 is 0)[
(set: $clue021 to 1)
]
<div class="unlock-notice">
◈ 已解锁档案021:莱昂·吕案件驳回签字记录
<div class="link">(link:"→ 查看档案021详细内容")[(goto:"档案021_详情")]</div>
</div>
</div>
<div class="analysis-footer">
<span class="analysis-back">(link:"[返回旧案卷宗]")[(goto:"档案_旧案卷宗")]</span>
<span class="analysis-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<script>
var audio1 = document.getElementById('bgm_188');
var audio2 = document.getElementById('bgm_135');
if (audio1 && audio2 && window.bgmState !== 'prequel') {
window.bgmState = 'prequel';
// 188 淡出
var fadeOut1 = setInterval(function() {
if (audio1.volume > 0.05) {
audio1.volume = Math.max(0, audio1.volume - 0.1);
} else {
audio1.volume = 0;
audio1.pause();
clearInterval(fadeOut1);
}
}, 130);
// 135 淡入
audio2.play();
var fadeIn2 = setInterval(function() {
if (audio2.volume < 0.95) {
audio2.volume = Math.min(1, audio2.volume + 0.05);
} else {
audio2.volume = 1;
clearInterval(fadeIn2);
}
}, 150);
}
</script>
<style>tw-sidebar{display:none!important;}</style>
<style>
.passage-text {
max-width: 680px;
margin: 0 auto;
line-height: 1.9;
font-size: 1.05em;
padding: 0.5em 0;
}
.dialog-line {
color: #c9a96e;
font-style: italic;
font-size: 0.95em;
letter-spacing: 0.5px;
}
.narrative {
color: #ccd4dc;
font-weight: 300;
}
.turn-link {
display: block;
text-align: right;
color: #667788;
font-size: 0.8em;
letter-spacing: 2px;
margin-top: 2em;
transition: all 0.3s ease;
}
.turn-link:hover {
color: #8899aa;
}
.turn-link-left {
display: block;
text-align: left;
color: #667788;
font-size: 0.8em;
letter-spacing: 2px;
margin-top: 2em;
transition: all 0.3s ease;
}
.turn-link-left:hover {
color: #8899aa;
}
.page-number {
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 3px;
font-weight: 400;
}
.registrar-book {
padding: 1.2em 1.6em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.9em;
color: #aabbcc;
line-height: 2;
position: relative;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(201, 169, 110, 0.03);
}
.registrar-book::before {
content: "📖 登记簿 · 银丘酒庄";
position: absolute;
top: -0.6em;
left: 0.8em;
background: rgba(0, 0, 0, 0.85);
padding: 0 0.6em;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
color: #445566;
letter-spacing: 2px;
}
.registrar-book .entry {
padding: 0.1em 0.4em;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
}
.registrar-book .entry:last-child {
border-bottom: none;
}
.registrar-book .entry .name {
color: #c9a96e;
font-weight: 400;
}
.registrar-book .entry .detail {
color: #667788;
font-size: 0.85em;
}
.registrar-book .entry .age {
color: #445566;
font-size: 0.8em;
}
.registrar-book .folded-note {
font-size: 0.75em;
color: #556677;
font-style: italic;
border-top: 1px solid rgba(201, 169, 110, 0.03);
padding-top: 0.4em;
margin-top: 0.4em;
}
</style>
(css: "text-align: left; max-width: 680px; margin: 0 auto; line-height: 1.9; font-size: 1.05em; padding: 0.5em 0;")[
**银丘酒庄 · 晚宴登记簿**
---
<span class="narrative">蒋易把那沓财务流水单据放在你桌上。</span>
<span class="dialog-line">"天宇,今天晚上我要去一趟银丘酒庄。"</span>
<span class="dialog-line">"品鉴晚宴。"</span>
<span class="narrative">你看着他穿外套。</span>
<span class="dialog-line">"你明知道那是个局。"</span>
<span class="dialog-line">"我知道。"</span><span class="narrative">他把领口理平,</span><span class="dialog-line">"所以这些账放你这里。等我回来。"</span>
<span class="narrative">他走到门口,手已经搭在门把上了,又停了一下。雨声从门缝里渗进来。</span>
<span class="dialog-line">"那就你接着查。"</span>
<span class="narrative">门关上了。雨声变大了。</span>
---
<span class="narrative">你翻开他留下的晚宴登记簿。</span>
<span class="narrative">纸页泛潮,边角卷起,像被翻过很多次。</span>
<span class="narrative">你慢慢翻过前面几页——大多是些不认识的名字,年份不同,字体不同。你翻了快大半本,然后停了下来。</span>
<span class="narrative">有几页被人折过角。你知道蒋易不会无缘无故折角。</span>
<span class="narrative">你的目光停在那一页上——</span>
---
<div class="registrar-book">
<div class="entry">
<span class="name">朵蒂·李勋爵</span>
<span class="detail">女,<span class="age">29岁</span> · 银丘酒庄持有人</span>
</div>
<div class="entry">
<span class="name">理查德·广</span>
<span class="detail">男,<span class="age">27岁</span> · 《纽斯》报社主编</span>
</div>
<div class="entry">
<span class="name">嘉诚·菲茨威廉</span>
<span class="detail">男,<span class="age">28岁</span> · 私人银行投资顾问,酒庄专属审计</span>
</div>
<div class="entry">
<span class="name">马库斯·土豆</span>
<span class="detail">男,<span class="age">36岁</span> · 伦敦酒水批发商</span>
</div>
<div class="entry">
<span class="name">刘同</span>
<span class="detail">男 · 酒庄总管家</span>
</div>
<div class="entry">
<span class="name">威尔</span>
<span class="detail">男 · 酒庄专职酒保</span>
</div>
<div class="folded-note">—— 页角有折痕,笔迹停顿处墨迹略重 ——</div>
</div>
---
<span class="narrative">你合上登记簿。记下这几个名字。</span>
<div style="display: flex; justify-content: space-between; align-items: center; margin-top: 2em;">
<span style="width: 8em;"></span>
<span class="page-number">— 1 / 3 —</span>
<span class="turn-link" style="margin-top: 0; font-size: 0.8em; letter-spacing: 2px;">(link:"[下一页 →]")[(goto:"案件前传_2")]</span>
</div>
]
<style>tw-sidebar{display:none!important;}</style>
<style>
.passage-text {
max-width: 680px;
margin: 0 auto;
line-height: 1.9;
font-size: 1.05em;
padding: 0.5em 0;
}
.dialog-line {
color: #c9a96e;
font-style: italic;
font-size: 0.92em;
}
.turn-link {
display: block;
text-align: right;
color: #667788;
font-size: 0.8em;
letter-spacing: 2px;
margin-top: 2em;
transition: all 0.3s ease;
}
.turn-link:hover {
color: #8899aa;
}
.turn-link-left {
display: block;
text-align: left;
color: #667788;
font-size: 0.8em;
letter-spacing: 2px;
margin-top: 2em;
transition: all 0.3s ease;
}
.turn-link-left:hover {
color: #8899aa;
}
.page-number {
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 3px;
font-weight: 400;
}
.case-card {
padding: 0.4em 1em;
margin: 0.3em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.015);
}
.case-card .case-name {
color: #c9a96e;
font-weight: 400;
font-size: 0.92em;
}
.case-card .case-detail {
color: #8899aa;
font-size: 0.88em;
line-height: 1.6;
}
.case-card .case-detail .highlight {
color: #c9a96e;
}
.case-card .case-detail .dim {
color: #445566;
font-size: 0.85em;
}
.registry-tear {
padding: 0.6em 1.2em;
margin: 0.6em 0;
border: 1px dashed rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
text-align: center;
color: #445566;
font-size: 0.85em;
letter-spacing: 1px;
position: relative;
}
.registry-tear::before {
content: "▸";
position: absolute;
left: 0.6em;
color: #445566;
font-size: 0.6em;
}
.registry-tear .note {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.narrative {
color: #aabbcc;
}
</style>
(css: "text-align: left; max-width: 680px; margin: 0 auto; line-height: 1.9; font-size: 1.05em; padding: 0.5em 0;")[
**苏塞克斯警署 · 旧案卷宗**
---
过去一年,三起案子。
<div class="case-card">
<div class="case-name">▸ 佩金丝酒馆集体中毒案 · 1997年8月</div>
<div class="case-detail">
十七人送医。关键酒水样本在送检途中<span class="highlight">"消失"</span>。<br>
<span class="dim">—— 押送警员称后备箱被撬,样本被盗,其他物品仍在</span>
</div>
</div>
<div class="case-card">
<div class="case-name">▸ 老园丁遇害案 · 1998年1月</div>
<div class="case-detail">
死于自己屋内。葡萄园账本与备用钥匙<span class="highlight">同时失窃</span>。<br>
<span class="dim">—— 现场判定为"意外",但老园丁无病史,死因存疑。</span>
</div>
</div>
<div class="case-card">
<div class="case-name">▸ 警署档案室纵火案 · 1998年5月</div>
<div class="case-detail">
深夜起火。所有与酒庄、酒水商有关的旧案卷<span class="highlight">全部烧毁</span>。<br>
<span class="dim">—— 起火点位于文件柜内部电路,起火前一周刚做过检修。</span>
</div>
</div>
三起案子,全部草草结案。
你坐在蒋易的位置上,雨打在窗玻璃上,声音细密而均匀。
---
敲门声响了两下。见习警员楠森·王推门进来。
<span class="dialog-line">"蒋警长走了?"</span>
你点了点头。
他走近两步,压低声音:"我刚才接到交通调度那边的电话——莱昂·吕的车出了南出口,往银丘酒庄方向去了。"
你抬起头。
<span class="dialog-line">"确定?"</span>
<span class="dialog-line">"确定。黑色公务车,车牌:LK67 LLY,不会认错。"</span>
你沉默了几秒。
<span class="dialog-line">"知道了。"</span>
她退了出去。门轻轻合上。
---
雨还在下。
你重新翻开登记簿。你记得那几页折角的位置。
你看着那六个名字,又往后翻了一页。
后面是空白页。
但空白页的背面,有钢笔压过的痕迹。
<div class="registry-tear">
<span class="note">那一页被人撕掉了。</span><br>
<span style="color: #445566; font-size: 0.75em;">—— 纸缘残留不规则撕裂痕,像是什么人匆忙间扯下来的。</span>
</div>
<div style="display: flex; justify-content: space-between; align-items: center; margin-top: 2em;">
<span class="turn-link-left" style="margin-top: 0; font-size: 0.8em; letter-spacing: 2px;">(link:"[← 上一页]")[(goto:"案件前传_1")]</span>
<span class="page-number">— 2 / 3 —</span>
<span class="turn-link" style="margin-top: 0; font-size: 0.8em; letter-spacing: 2px;">(link:"[下一页 →]")[(goto:"案件前传_3")]</span>
</div>
]
<style>tw-sidebar{display:none!important;}</style>
<style>
.passage-text {
max-width: 680px;
margin: 0 auto;
line-height: 1.9;
font-size: 1.05em;
padding: 0.5em 0;
}
.dialog-line {
color: #c9a96e;
font-style: italic;
font-size: 0.92em;
}
.enter-link {
display: block;
text-align: right;
color: #667788;
font-size: 0.8em;
letter-spacing: 2px;
margin-top: 2em;
transition: all 0.3s ease;
}
.enter-link:hover {
color: #c9a96e;
}
.turn-link-left {
display: block;
text-align: left;
color: #667788;
font-size: 0.8em;
letter-spacing: 2px;
margin-top: 2em;
transition: all 0.3s ease;
}
.turn-link-left:hover {
color: #8899aa;
}
.page-number {
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 3px;
font-weight: 400;
}
.phone-ring {
color: #c9a96e;
font-weight: 400;
letter-spacing: 2px;
font-size: 0.95em;
}
.narrative {
color: #aabbcc;
}
.drive-sequence {
padding: 0.4em 0.8em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
font-size: 0.92em;
color: #8899aa;
line-height: 1.8;
}
.arrival-box {
padding: 0.6em 1.2em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
color: #aabbcc;
}
.arrival-box .final-line {
color: #c9a96e;
font-weight: 400;
font-size: 0.95em;
letter-spacing: 1px;
}
</style>
(css: "text-align: left; max-width: 680px; margin: 0 auto; line-height: 1.9; font-size: 1.05em; padding: 0.5em 0;")[
**银丘酒庄 · 雨夜**
---
<span class="phone-ring">▸ 夜里十一点四十分,电话响了。</span>
<span class="dialog-line">"天宇警官……我是刘同,银丘酒庄的管家。蒋易警长在地下酒窖里……已经不行了。"</span>
你挂了电话。站在桌边,静止了几秒。
然后你把单据锁进抽屉,钥匙拧到底,拔出来,放进口袋。
走廊灯光昏白。你穿过走廊,推开大门,雨声一下子涌了上来。
<div class="drive-sequence">
车开了出去。雨刮器来回刮着挡风玻璃,雨一直没有停的意思。
</div>
你握着方向盘,想着蒋易说过的那句话——
<span class="dialog-line">"那就你接着查。"</span>
---
<div class="arrival-box">
你熄了火。银丘酒庄到了。
<br><br>
院子里两辆警车。有人撑着伞站在门口,灯光从门缝里透出来,落在地面积水上,碎成几片亮光。
<br><br>
你坐在车里,静了几秒。
<br><br>
<span class="final-line">然后你推开车门,走进雨里。</span>
</div>
<div style="display: flex; justify-content: space-between; align-items: center; margin-top: 2em;">
<span class="turn-link-left" style="margin-top: 0; font-size: 0.8em; letter-spacing: 2px;">(link:"[← 上一页]")[(goto:"案件前传_2")]</span>
<span class="page-number">— 3 / 3 —</span>
<span class="enter-link" style="margin-top: 0; font-size: 0.8em; letter-spacing: 2px;">(link:"[进入游戏 →]")[(set: $clue001 to 1)(goto:"主界面")]</span>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.75em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'JetBrains Mono', monospace;
font-size: 0.8em;
color: #aabbcc;
line-height: 2;
white-space: pre-wrap;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .red {
color: #c96e6e;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案001 ╱</span>
<span class="doc-badge">FINANCE · 1998</span>
</div>
<div class="doc-paper">
<div class="doc-headline">马库斯集团 · 财务往来记录</div>
<div class="doc-body">
收款方:马库斯酒水批发有限公司
付款方:银丘酒庄 · 朵蒂·李
金额:<span class="gold">£127,500.00</span>
日期:1998.06.15
备注:品鉴晚宴专项款
---
收款方:马库斯酒水批发有限公司
付款方:银丘酒庄 · 朵蒂·李
金额:<span class="gold">£89,200.00</span>
日期:1998.07.22
备注:葡萄园维护费
---
收款方:马库斯酒水批发有限公司
付款方:银丘酒庄 · 朵蒂·李
金额:<span class="gold">£203,400.00</span>
日期:1998.08.30
备注:<span class="red">税务调整款</span>
---
<span style="color: #445566; font-size: 0.8em;">* 以上三笔款项均无对应发票或服务记录。</span>
<span style="color: #445566; font-size: 0.8em;">* 第三笔"税务调整款"未在酒庄公开账目中体现。</span>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回警署办公室]")[(goto:"勘查_警署办公室")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'JetBrains Mono', monospace;
font-size: 0.8em;
color: #aabbcc;
line-height: 2.2;
white-space: pre-wrap;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .note {
font-size: 0.7em;
color: #445566;
letter-spacing: 1px;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.6em;
margin-top: 0.6em;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案002 ╱</span>
<span class="doc-badge">HANDWRITTEN</span>
</div>
<div class="doc-paper">
<div class="doc-headline">酒水配送台账 · 1998.10.26</div>
<div class="doc-body">
时间:21:40
地点:银丘酒庄 · 宴会厅
配送人:威尔
收件人:蒋易警长
---
<span class="gold">特调酒品记录:</span>
基酒:苏格兰单一麦芽威士忌
添加物:<span class="gold">███(字迹模糊)</span>
备注:马库斯·土豆先生单独嘱托,要求"亲自递送"
---
<span class="gold">其他配送记录:</span>
22:10 ─ 朵蒂·李勋爵 ─ 波尔多红
22:30 ─ 理查德·广 ─ 苏玳白
22:45 ─ 马库斯·土豆 ─ 威士忌
<div class="note">◈ 威尔签字确认:<span style="color: #c9a96e;">W. Barrow</span></div>
<div class="note">◈ 下方有笔迹潦草的补充:"蒋易警长那杯是我单独拿过去的,没经过其他人。"</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回宴会厅]")[(goto:"勘查_宴会厅")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .wine-note {
font-family: 'Playfair Display', serif;
font-size: 0.92em;
color: #ccd4dc;
line-height: 2;
padding: 0 0.5em;
}
.doc-paper .wine-note .gold {
color: #c9a96e;
}
.doc-paper .wine-note .dim {
color: #445566;
font-size: 0.8em;
}
.doc-paper .wine-note .quote {
font-style: italic;
color: #8899aa;
border-left: 2px solid rgba(201, 169, 110, 0.06);
padding-left: 1.2em;
margin: 0.4em 0;
}
.doc-paper .wine-note .signoff {
text-align: right;
font-style: italic;
color: #8899aa;
margin-top: 0.8em;
padding-top: 0.5em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .wine-note .signoff .name {
color: #c9a96e;
font-style: normal;
letter-spacing: 2px;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案003 ╱</span>
<span class="doc-badge">MANUSCRIPT</span>
</div>
<div class="doc-paper">
<div class="doc-headline">红酒专栏 · 品鉴手稿</div>
<div class="wine-note">
<div style="font-size: 0.75em; color: #445566; letter-spacing: 2px; margin-bottom: 0.5em;">银丘酒庄 · 1998年秋</div>
<span class="gold">银丘酒庄 1994 年份珍藏</span>
色泽:深红宝石色,边缘泛石榴红光泽。
香气:黑醋栗、雪松、皮革,隐约有一丝<span class="gold">不太寻常的甜腻</span>。
口感:单宁紧实,结构完整。但余味中有一丝<span class="gold">过度成熟的果干气息</span>,与酒庄往年的风格略有出入。
<div class="quote">"这批酒的整体表现与银丘酒庄以往的水准相比,存在一定差距。不排除气候因素影响,但更可能源于酿造环节的某些调整。"</div>
<div style="font-size: 0.8em; color: #aabbcc; margin-top: 0.5em;">
这篇手稿未被刊登。<br>
在稿件边缘,有一行铅笔批注,笔迹与正文不同:
</div>
<div class="quote" style="color: #c9a96e;">
"建议暂缓刊发。银丘酒庄近期有多笔大额资金流入,不宜在此时引发市场关注。"
</div>
<div class="signoff">
—— 理查德·广<br>
<span class="name">《纽斯》报 · 红酒专栏</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回宴会厅]")[(goto:"勘查_宴会厅")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .evidence-photo {
text-align: center;
font-family: 'JetBrains Mono', monospace;
font-size: 0.7em;
color: #445566;
letter-spacing: 2px;
padding: 0.8em;
margin: 0.5em 0 1em 0;
border: 1px dashed rgba(201, 169, 110, 0.06);
background: rgba(0,0,0,0.2);
border-radius: 2px;
}
.doc-paper .evidence-photo .frame {
color: #667788;
font-size: 1.5em;
letter-spacing: 8px;
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
font-size: 0.85em;
}
.doc-paper .doc-body .detail-row {
padding: 0.2em 0.8em;
border-left: 2px solid rgba(201, 169, 110, 0.04);
margin: 0.3em 0;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案004 ╱</span>
<span class="doc-badge">EVIDENCE · GLASSES</span>
</div>
<div class="doc-paper">
<div class="doc-headline">黑色厚框眼镜 · 物证记录</div>
<div class="evidence-photo">
<div class="frame">◈ ◈ ◈</div>
物证编号:SG-98-1026-04<br>
检材类型:眼镜(左镜腿断裂)
</div>
<div class="doc-body">
<div class="detail-row">
<span class="gold">外观描述:</span><br>
黑色厚框板材镜架,左镜腿从铰链处断裂,镜片有轻微划痕,无碎裂。
</div>
<div class="detail-row">
<span class="gold">尺寸测量:</span><br>
镜框宽度:14.2 cm<br>
镜腿长度:15.8 cm<br>
镜片度数:<span class="dim">— 未检测到光学度数(平光镜)</span>
</div>
<div class="detail-row">
<span class="gold">遗留位置:</span><br>
酒窖东侧第三排橡木酒桶夹缝中,距死者倒地位置约2.3米。
</div>
<div class="detail-row">
<span class="gold">初步鉴定:</span><br>
镜架上残留少量皮肤油脂与汗渍。<br>
镜腿内侧刻有模糊标记:<span class="gold">"L.L."</span>
</div>
<div style="font-size: 0.7em; color: #445566; margin-top: 0.8em; padding-top: 0.5em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
备注:该眼镜与园丁日记中描述莱昂·吕"常年佩戴黑框厚眼镜"的特征吻合。
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回酒窖]")[(goto:"勘查_酒窖")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .red {
color: #c96e6e;
}
.doc-paper .doc-body .dim {
color: #445566;
font-size: 0.85em;
}
.doc-paper .doc-body .section-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1em;
color: #8899aa;
letter-spacing: 2px;
margin-top: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
padding-bottom: 0.2em;
}
.doc-paper .doc-body .detail-row {
padding: 0.2em 0.8em;
margin: 0.2em 0;
}
.doc-paper .doc-body .finding {
padding: 0.4em 1em;
margin: 0.3em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
}
.doc-paper .doc-body .finding .label {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案005 ╱</span>
<span class="doc-badge">AUTOPSY · CONFIDENTIAL</span>
</div>
<div class="doc-paper">
<div class="doc-headline">死者初步尸检报告</div>
<div class="doc-body">
<div style="font-size: 0.7em; color: #445566; letter-spacing: 1px; margin-bottom: 0.8em;">
案件编号:98-1026<br>
死者姓名:蒋易<br>
年龄:36岁<br>
职业:侦缉警长 · 苏塞克斯警署
</div>
<div class="section-title">▼ 检验时间</div>
<div class="detail-row">1998年10月27日 03:15</div>
<div class="section-title">▼ 外部检查</div>
<div class="finding">
<span class="label">头部:</span>左后颞部可见一处钝器击打伤,长约4.2cm,皮下出血明显。
</div>
<div class="finding">
<span class="label">口鼻:</span>口唇轻微发绀,鼻腔无异物。
</div>
<div class="finding">
<span class="label">四肢:</span>未见明显抵抗伤,指甲缝内无异物。
</div>
<div class="section-title">▼ 体内检验</div>
<div class="finding">
<span class="label">毒理学检测:</span><br>
体内检出微量<span class="gold">葡萄藤提纯毒素</span>(浓度:0.04μg/ml)。<br>
<span class="dim">该毒素由葡萄藤中提取,微量摄入即可致人死亡。</span>
</div>
<div class="finding">
<span class="label">钝器伤评估:</span><br>
头部外伤程度为<span class="red">表皮至浅层肌肉组织损伤</span>,<span class="gold">不足以致死</span>。
</div>
<div class="section-title">▼ 初步结论</div>
<div class="finding" style="border-left-color: rgba(201, 169, 110, 0.2);">
<span class="gold">死因:葡萄藤提纯毒素中毒</span><br>
<span class="dim">头部钝器伤为辅助伤害,非致命原因。</span>
</div>
<div style="font-size: 0.7em; color: #445566; margin-top: 0.8em; padding-top: 0.5em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
检验人:法医 · 莫里斯旸<br>
报告编号:PM-98-1026-05
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回酒窖]")[(goto:"勘查_酒窖")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .diary-entry {
font-family: 'Playfair Display', serif;
font-size: 0.95em;
color: #ccd4dc;
line-height: 2.2;
}
.doc-paper .diary-entry .date {
font-size: 0.7em;
color: #445566;
letter-spacing: 2px;
font-family: 'Inter', sans-serif;
text-transform: uppercase;
}
.doc-paper .diary-entry .gold {
color: #c9a96e;
}
.doc-paper .diary-entry .dim {
color: #445566;
}
.doc-paper .diary-entry .tear-note {
font-size: 0.75em;
color: #445566;
font-family: 'Inter', sans-serif;
letter-spacing: 1px;
margin-top: 1em;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案006 ╱</span>
<span class="doc-badge">DIARY · 1998</span>
</div>
<div class="doc-paper">
<div class="doc-headline">老园丁 · 手写日记</div>
<div class="diary-entry">
<div class="date">—— 1998年10月26日 · 清晨 ——</div>
<span style="color: #667788; font-size: 0.85em;">醒来的时候雨刚停。葡萄园的地面还是湿的,踩上去往下陷。</span>
今天天还没亮透的时候,有人进了葡萄园。
我认得那辆车的引擎声。莱昂·吕的车,来过很多次了,每次都是天没亮的时候走,天快亮的时候离开。
他从车上下来,朵蒂·李已经在园子里等着了。他们从葡萄架最深处的那片空地里挖出一个铁盒,打开来,里面是钱——一沓一沓的,用牛皮纸包着。
莱昂·吕站在她对面,戴着那副黑框厚眼镜。雨后的晨光从葡萄叶之间漏下来,我隔着工具棚的窗子看得清清楚楚。
<span style="color: #667788; font-size: 0.85em;">我看着他们清点了将近一刻钟。然后他们把铁盒放回原处,盖上土,重新把葡萄枝压平。</span>
朵蒂·李走的时候回头看了一眼,我赶紧往后退了一步。我不确定她有没有看见我。
<div style="margin-top: 0.8em; color: #c9a96e; font-style: italic;">
"那副眼镜……我见过太多次了。"
</div>
<div class="tear-note">
◈ 纸张边缘有明显撕裂痕迹,下半页被撕去。<br>
◈ 笔迹潦草,有多处停顿的墨渍。
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回园丁小屋]")[(goto:"勘查_园丁小屋")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .incident-report {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .incident-report .section {
font-family: 'Cormorant Garamond', serif;
font-size: 0.9em;
color: #8899aa;
letter-spacing: 2px;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
padding-bottom: 0.1em;
margin-top: 0.6em;
}
.doc-paper .incident-report .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .incident-report .value {
color: #ccd4dc;
}
.doc-paper .incident-report .value .gold {
color: #c9a96e;
}
.doc-paper .incident-report .note {
font-size: 0.7em;
color: #445566;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.4em;
margin-top: 0.6em;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案007 ╱</span>
<span class="doc-badge">THEFT · RECORD</span>
</div>
<div class="doc-paper">
<div class="doc-headline">备用钥匙失窃记录</div>
<div class="incident-report">
<div class="section">▼ 现场状况</div>
墙面挂钩:空置<br>
原存放物:<span class="gold">地下酒窖备用钥匙 × 2</span><br>
挂钩状态:无撬动痕迹,表面可见指纹但已被擦拭
<div class="section">▼ 最后使用记录</div>
最后登记使用人:<span class="gold">蒋易</span>(1998.10.25 17:20)<br>
归还登记:无记录
<div class="section">▼ 遗失时间</div>
推测为1998年10月25日 18:00 至 10月26日 08:00 之间<br>
<span style="color: #445566; font-size: 0.8em;">(园丁遇害当晚至次日清晨)</span>
<div class="section">▼ 关联线索</div>
• 园丁日记中未提及钥匙事宜<br>
• 酒窖门锁无暴力痕迹——<span class="gold">凶手持有钥匙</span>
<div class="note">
◈ 该钥匙为酒窖唯一非暴力进入方式。<br>
◈ 失窃时间与老园丁遇害时间高度重叠。
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回园丁小屋]")[(goto:"勘查_园丁小屋")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .fingerprint-report {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .fingerprint-report .match-box {
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
padding: 0.6em 1em;
margin: 0.4em 0;
border-radius: 2px;
text-align: center;
}
.doc-paper .fingerprint-report .match-box .result {
font-size: 1.2em;
color: #c9a96e;
font-weight: 400;
letter-spacing: 4px;
}
.doc-paper .fingerprint-report .match-box .confidence {
font-size: 0.7em;
color: #445566;
letter-spacing: 2px;
}
.doc-paper .fingerprint-report .detail-row {
padding: 0.2em 0.8em;
border-left: 2px solid rgba(201, 169, 110, 0.04);
margin: 0.3em 0;
}
.doc-paper .fingerprint-report .detail-row .label {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .fingerprint-report .detail-row .value {
color: #ccd4dc;
}
.doc-paper .fingerprint-report .detail-row .value .gold {
color: #c9a96e;
}
.doc-paper .fingerprint-report .footnote {
font-size: 0.7em;
color: #445566;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.4em;
margin-top: 0.6em;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案008 ╱</span>
<span class="doc-badge">FINGERPRINT · MATCH</span>
</div>
<div class="doc-paper">
<div class="doc-headline">小瓶指纹比对报告</div>
<div class="fingerprint-report">
<div class="match-box">
<div class="result">✔ 匹配</div>
<div class="confidence">置信度:98.7%</div>
</div>
<div class="detail-row">
<span class="label">检材编号:</span>
<span class="value">BTL-98-1027-008</span>
</div>
<div class="detail-row">
<span class="label">检材类型:</span>
<span class="value">无标识白色玻璃瓶(容量约15ml)</span>
</div>
<div class="detail-row">
<span class="label">提取位置:</span>
<span class="value">园丁小屋外侧黑色垃圾袋内</span>
</div>
<div class="detail-row">
<span class="label">残留物:</span>
<span class="value"><span class="gold">白色粉末</span> · 送检中</span>
</div>
<div class="detail-row">
<span class="label">指纹提取:</span>
<span class="value">瓶身一枚完整拇指纹,一枚局部食指纹</span>
</div>
<div class="detail-row">
<span class="label">比对结果:</span>
<span class="value"><span class="gold">酒保威尔</span> · 完全吻合</span>
</div>
<div class="footnote">
◈ 瓶身编号已磨损,无法辨认批次。<br>
◈ 指纹完整度极高,具备法律效力。
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回园丁小屋]")[(goto:"勘查_园丁小屋")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .file-folder {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .file-folder .folder-tab {
display: inline-block;
font-size: 0.6em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.06);
padding: 0.1em 0.8em;
border-radius: 2px;
margin-right: 0.6em;
font-weight: 400;
}
.doc-paper .file-folder .folder-tab.gold {
color: #c9a96e;
border-color: rgba(201, 169, 110, 0.15);
}
.doc-paper .file-folder .entry {
padding: 0.3em 0.8em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .file-folder .entry .key {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .file-folder .entry .value {
color: #ccd4dc;
}
.doc-paper .file-folder .entry .value .gold {
color: #c9a96e;
}
.doc-paper .file-folder .footnote {
font-size: 0.7em;
color: #445566;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.4em;
margin-top: 0.6em;
}
.doc-paper .file-folder .quote-block {
font-style: italic;
color: #8899aa;
border-left: 2px solid rgba(201, 169, 110, 0.06);
padding-left: 1.2em;
margin: 0.4em 0;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案009 ╱</span>
<span class="doc-badge">CLASSIFIED · EMAIL</span>
</div>
<div class="doc-paper">
<div class="doc-headline">朵蒂 · 莱昂·吕 往来邮件</div>
<div class="file-folder">
<div style="margin-bottom: 0.6em;">
<span class="folder-tab gold">⛔ 加密</span>
<span class="folder-tab">已解密</span>
<span class="folder-tab">1998.10</span>
</div>
<div class="entry">
<span class="key">发件人:</span>
<span class="value">朵蒂·李 (dottie.lee@silverhill-estate.co.uk)</span>
</div>
<div class="entry">
<span class="key">收件人:</span>
<span class="value">莱昂·吕 (leon.lyon@sussex.police.uk)</span>
</div>
<div class="entry">
<span class="key">日期:</span>
<span class="value">1998年10月23日 14:32</span>
</div>
<div class="entry">
<span class="key">主题:</span>
<span class="value"><span class="gold">关于下周品鉴晚宴的账目安排</span></span>
</div>
<div style="margin: 0.8em 0 0.4em 0; border-top: 1px solid rgba(201, 169, 110, 0.04); padding-top: 0.4em;"></div>
<div class="entry" style="border-left-color: rgba(201, 169, 110, 0.08);">
<span style="color: #ccd4dc; line-height: 2;">
下周品鉴晚宴的宾客名单已经确认。<span class="gold">蒋易警长</span>也会出席。
<br><br>
关于税务账目的部分,嘉诚那边已经做了微调,明面上不会有问题。
</span>
</div>
......
<div class="quote-block">
"如果蒋易愿意收下那笔'咨询费',后续的审计就不会再有阻力。"
</div>
......
<div class="entry">
<span style="color: #ccd4dc;">
具体金额和转账方式,我会在晚宴前与你当面确认。
</span>
</div>
<div style="margin: 0.8em 0 0.4em 0; border-top: 1px solid rgba(201, 169, 110, 0.04); padding-top: 0.4em;"></div>
<div style="text-align: right; color: #445566; font-size: 0.8em;">
—— 朵蒂
</div>
<div class="footnote">
◈ 此邮件已加密。<br>
◈ 发件箱中已删除,从回收站恢复。<br>
◈ 阅后自动销毁功能已触发,仅恢复部分内容。
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回书房]")[(goto:"勘查_书房")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .match {
border-left: 2px solid rgba(201, 169, 110, 0.06);
padding-left: 0.8em;
margin: 0.3em 0;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案010 ╱</span>
<span class="doc-badge">FORENSIC · TOWEL</span>
</div>
<div class="doc-paper">
<div class="doc-headline">冰毛巾凶器 · 残留物证记录</div>
<div class="doc-body">
<span class="field">物证编号:</span>SG-98-1027-010<br>
<span class="field">物证类型:</span><span class="gold">棉质毛巾纤维(焚烧残留)</span><br>
<span class="field">提取位置:</span>马库斯·土豆客房 · 壁炉内部<br>
<span class="field">纤维状态:</span>部分炭化,边缘可见水渍痕迹
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">检验结果:</span>
<div class="match">
• 纤维材质为<span class="gold">100%纯棉</span>,与酒店标准浴巾一致。<br>
• 水渍痕迹呈<span class="gold">冰冻-融化-再冰冻</span>的循环形态。<br>
• 纤维表面附着微量皮屑与血液残留(<span class="gold">与蒋易DNA匹配</span>)。
</div>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">鉴定意见:</span>
<div style="color: #ccd4dc;">
该毛巾曾<span class="gold">浸水后冰冻</span>,形成硬质凶器。<br>
击打后毛巾解冻,随即被投入壁炉焚烧销毁。
</div>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 冰制凶器在常温下逐渐软化,钝器伤特征与尸检报告吻合。<br>
◈ 焚烧时间推测为案发后 1-2 小时内。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回客房]")[(goto:"勘查_客房")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .email-full {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .email-full .email-header {
background: rgba(201, 169, 110, 0.02);
padding: 0.4em 0.8em;
border-radius: 2px;
font-size: 0.75em;
color: #667788;
letter-spacing: 0.5px;
}
.doc-paper .email-full .email-header .label {
color: #445566;
}
.doc-paper .email-full .email-header .value {
color: #ccd4dc;
}
.doc-paper .email-full .email-body {
padding: 0.6em 0.8em;
border-left: 1px solid rgba(201, 169, 110, 0.04);
margin: 0.4em 0;
line-height: 2;
}
.doc-paper .email-full .email-body .gold {
color: #c9a96e;
}
.doc-paper .email-full .email-body .italic {
font-style: italic;
color: #8899aa;
}
.doc-paper .email-full .email-footer {
font-size: 0.7em;
color: #445566;
border-top: 1px solid rgba(201, 169, 110, 0.04);
padding-top: 0.4em;
margin-top: 0.4em;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案011 ╱</span>
<span class="doc-badge">DRAFT · EMAIL</span>
</div>
<div class="doc-paper">
<div class="doc-headline">马库斯·土豆 · 邮件草稿</div>
<div class="email-full">
<div class="email-header">
<span class="label">发件人:</span><span class="value">马库斯·土豆</span><br>
<span class="label">收件人:</span><span class="value">朵蒂·李</span><br>
<span class="label">状态:</span><span class="value" style="color: #c9a96e;">草稿 · 未发送</span><br>
<span class="label">最后编辑:</span><span class="value">1998年10月26日 21:47</span><br>
<span class="label">设备:</span><span class="value">客房电脑 · 马库斯·土豆个人账户</span>
</div>
<div class="email-body">
<span style="color: #667788; font-size: 0.8em; letter-spacing: 1px;">— 正文 —</span>
<br><br>
朵蒂,<br><br>
关于蒋易的事,我已经安排好了。品鉴晚宴那天,我会找机会跟他单独聊聊。<br><br>
只要<span class="gold">蒋易</span>停止追查银丘酒庄的账目,我自有办法补偿欠款。<br><br>
金额方面,你不用担心。我这边资金链虽然紧,但这笔钱挤一挤还是有的。<br><br>
<span style="color: #667788; font-size: 0.8em; letter-spacing: 1px;">— 末尾备注 —</span>
<br>
<span class="gold italic">"只要封口,一切好说。"</span>
</div>
<div class="email-footer">
◈ 该邮件未发送至收件人,存于草稿箱。<br>
◈ 草稿最后编辑时间距离蒋易警长遇害约 2 小时。<br>
◈ "补偿欠款"与马库斯集团拖欠银丘酒庄的 £162,500 货款高度吻合。
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回客房]")[(goto:"勘查_客房")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.88em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .transcript-entry {
padding: 0.4em 0.8em;
margin: 0.3em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body .transcript-entry .speaker {
color: #c9a96e;
font-weight: 400;
letter-spacing: 0.5px;
}
.doc-paper .doc-body .transcript-entry .speaker .dim {
color: #445566;
font-size: 0.85em;
font-weight: 300;
}
.doc-paper .doc-body .transcript-entry .quote {
color: #ccd4dc;
font-style: italic;
}
.doc-paper .doc-body .transcript-entry .quote .gold {
color: #c9a96e;
font-style: normal;
font-weight: 400;
}
.doc-paper .doc-body .transcript-entry .annotation {
font-size: 0.75em;
color: #667788;
letter-spacing: 0.5px;
margin-top: 0.1em;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案012 ╱</span>
<span class="doc-badge">WITNESS · STATEMENT</span>
</div>
<div class="doc-paper">
<div class="doc-headline">国王之臂酒馆 · 口述笔录</div>
<div class="doc-body">
<span class="field">记录时间:</span>1998年10月28日<br>
<span class="field">记录地点:</span>莱维斯镇 · 国王之臂酒馆<br>
<span class="field">记录人:</span>天宇·托比
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span style="color: #ccd4dc; font-size: 0.9em;">
以下为酒馆老板及常客口述整理:
</span>
<div class="transcript-entry">
<span class="speaker">店主 · 老汤姆</span><br>
<span class="quote">"那几位常客,来的时候从来不坐吧台。他们坐角落里那张桌子,一坐就是一整晚。点最贵的酒,聊的从来不是酒。"</span>
</div>
<div class="transcript-entry">
<span class="speaker">酒馆常客 · 约翰思弗</span><br>
<span class="quote">"去年秋天那会儿,一个穿警服的人来过这里。不是来喝酒的,是来等人的。门口停了辆车,他坐在车里,等了大概一个多钟头。没下车,也没进店,然后就走了。"</span>
<div class="annotation">—— 楠森·王标注:经核实,该时间段内莱昂·吕的黑色公务车曾在周边区域出现。</div>
</div>
<div class="transcript-entry">
<span class="speaker">老板娘 · 玛莎</span><br>
<span class="quote">"嘉诚·菲茨威廉每隔一两个月就来一趟,每次都坐在同一个位置——靠窗那张。他说是在等朋友,但我从没见他等到过谁。"</span>
<div class="annotation">—— 天宇·托比追问:"那他在等谁?" 老板娘犹豫了一下:"来的那个人,开黑色公务车。"</div>
</div>
<div class="transcript-entry">
<span class="speaker">店主 · 老汤姆</span><br>
<span class="quote">"去年五月,警署档案室着火那天晚上,有人说在附近看见了那辆黑色公务车。车开得很慢,像在找什么东西。"</span>
<div class="annotation">—— 天宇·托比标注:与档案室纵火案时间线吻合。</div>
</div>
<div class="transcript-entry" style="border-left-color: rgba(201, 169, 110, 0.08);">
<span class="speaker">店主 · 老汤姆</span><br>
<span class="quote">"还有个事。马库斯·土豆那几次来,喝得不少,嘴里说的话也越来越多。他最后一次来,是26号晚上。半杯黑啤,没喝完就走了,脸色很难看。"</span>
<div class="annotation">—— 天宇·托比标注:26号晚上,正是蒋易警长遇害的时间。</div>
</div>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 以上笔录已由相关人员口头确认。<br>
◈ 该笔录与银丘酒庄财务造假案及蒋易警长遇害案存在直接关联。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回酒馆]")[(goto:"勘查_酒馆")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .entry {
padding: 0.3em 0.8em;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
}
.doc-paper .doc-body .entry .date {
color: #445566;
font-size: 0.75em;
letter-spacing: 1px;
}
.doc-paper .doc-body .entry .remark {
color: #aabbcc;
}
.doc-paper .doc-body .entry .remark .gold {
color: #c9a96e;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案013 ╱</span>
<span class="doc-badge">LEDGER · RECORD</span>
</div>
<div class="doc-paper">
<div class="doc-headline">马库斯·土豆 · 酒馆消费台账</div>
<div class="doc-body">
<span class="field">来源:</span>莱维斯镇老牌酒馆 · 后台账本<br>
<span class="field">提取时间:</span>1998.10.28<br>
<span class="field">记录人:</span>天宇·托比
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<div class="entry">
<span class="date">1998年9月15日</span><br>
<span class="remark">马库斯·土豆独自前来,情绪低落。<br>"资金链断了,他们还不还钱……"</span>
</div>
<div class="entry">
<span class="date">1998年9月28日</span><br>
<span class="remark">马库斯·土豆情绪激动,三杯威士忌后语带威胁。<br><span class="gold">"蒋易那个警长……让他闭嘴就好了。"</span></span>
</div>
<div class="entry">
<span class="date">1998年10月12日</span><br>
<span class="remark">马库斯·土豆脸色极差,只喝了两杯。<br>"朵蒂那边催得紧……我没钱了。"</span>
</div>
<div class="entry">
<span class="date">1998年10月24日</span><br>
<span class="remark">马库斯·土豆最后出现,留下关键一句话。<br><span class="gold">"只要蒋易死了,一切都解决了。"</span></span>
</div>
<div class="entry" style="border-bottom: none;">
<span class="date">1998年10月26日</span><br>
<span class="remark">马库斯·土豆未结账离开,此后未再出现。<br><span style="color: #445566; font-size: 0.8em;">—— 蒋易警长于当晚遇害。</span></span>
</div>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 该账本为原件提取,店主签字确认。<br>
◈ 马库斯·土豆在案发前多次表露杀人动机。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回酒馆]")[(goto:"勘查_酒馆")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .quote-block {
border-left: 2px solid rgba(201, 169, 110, 0.06);
padding-left: 0.8em;
margin: 0.3em 0;
font-style: italic;
color: #8899aa;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案014 ╱</span>
<span class="doc-badge">ARTICLE · UNPUBLISHED</span>
</div>
<div class="doc-paper">
<div class="doc-headline">未刊发负面专栏底稿</div>
<div class="doc-body">
<span class="field">作者:</span>理查德·广 · 《纽斯》报社<br>
<span class="field">状态:</span><span style="color: #c9a96e;">未刊发 · 存稿</span><br>
<span class="field">提取时间:</span>1998.10.28<br>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span style="color: #ccd4dc; font-weight: 400;">稿件摘要:</span>
<div class="quote-block">
"银丘酒庄近两年的葡萄酒品质出现明显下滑。多位业内人士证实,酒庄葡萄园自1997年以来多次爆发真菌感染,但从未按规定上报。"
<span style="display: block; margin-top: 0.3em;">
"另有匿名酒庄内部人员透露,部分珍藏款葡萄酒并非原桶灌装,而是掺入了低价产区原酒。"
</span>
</div>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">与本案关联:</span><br>
<span style="color: #ccd4dc;">
• 稿件中提及的"匿名内部人员"——<span class="gold">疑似酒庄内部知情者</span>。<br>
• 稿件未刊发——<span class="gold">有人阻止了这篇报道</span>。<br>
• 理查德·广在稿件边缘批注:<span style="color: #c9a96e;">"有编辑打过招呼,暂时不动银丘的稿子。"</span>
</span>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 该稿件若刊发,银丘酒庄的财务和声誉将遭受重大打击。<br>
◈ 稿件被压下的时间,与佩金丝酒馆中毒案及银丘酒庄相关旧案时间线高度吻合。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回报社]")[(goto:"勘查_报社")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .receipt-detail {
padding: 0.3em 0.8em;
border-left: 2px solid rgba(201, 169, 110, 0.04);
margin: 0.2em 0;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案015 ╱</span>
<span class="doc-badge">REJECTION · RECEIPT</span>
</div>
<div class="doc-paper">
<div class="doc-headline">酒庄礼品拒收单据</div>
<div class="doc-body">
<span class="field">单据编号:</span>SG-98-REJ-003<br>
<span class="field">提取时间:</span>1998.10.28<br>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">发件人:</span><span class="gold">朵蒂·李 · 银丘酒庄</span><br>
<span class="field">收件人:</span><span class="gold">理查德·广 · 《纽斯》报社</span><br>
<span class="field">物品:</span>高端红酒礼品 · 1996年份珍藏 · 单瓶装<br>
<span class="field">送达方式:</span>专人递送<br>
<span class="field">送达日期:</span>1998年9月28日
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">处理结果:</span>
<div class="receipt-detail">
<span style="color: #c96e6e;">收件人拒收 · 原路退回</span><br>
<span style="color: #667788; font-size: 0.85em;">拒收原因栏留白,未填写。</span>
</div>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">与本案件关联:</span><br>
<span style="color: #ccd4dc;">
• 送礼时间(1998.09.28)——正好在<span class="gold">佩金丝酒馆中毒案发生前一个月</span>。<br>
• 礼品为<span class="gold">1996年份珍藏</span>——该年份酒款被理查德·广的稿件列为"品质存疑"。<br>
• 拒收行为表明<span class="gold">理查德·广与银丘酒庄之间并无利益往来</span>。<br>
• 拒收单背面有手写备注:<span style="color: #c9a96e;">"银丘酒庄的人来找过我。我没收。"</span>
</span>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 该拒收单证明理查德·广未被酒庄收买。<br>
◈ 可作为"理查德·广知情且有意揭露银丘酒庄黑幕"的重要佐证。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回报社]")[(goto:"勘查_报社")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .result-box {
border-left: 2px solid rgba(201, 169, 110, 0.08);
padding-left: 0.8em;
margin: 0.3em 0;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案016 ╱</span>
<span class="doc-badge">FORENSIC · TOXIN</span>
</div>
<div class="doc-paper">
<div class="doc-headline">白色粉末化验鉴定报告</div>
<div class="doc-body">
<span class="field">检材编号:</span>BTL-98-1027-008<br>
<span class="field">检材来源:</span>园丁小屋外侧黑色垃圾袋内白色玻璃瓶<br>
<span class="field">送检人:</span>天宇·托比<br>
<span class="field">化验人:</span>法医 · 莫里斯旸<br>
<span class="field">报告日期:</span>1998.10.28
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">肉眼观察:</span><br>
白色粉末状,质地细腻,无特殊气味。总量约 2.3 克。
<div style="margin: 0.4em 0;"></div>
<span class="field">显微检验:</span><br>
晶体结构呈不规则碎片状,与已知的葡萄藤植物提取物样本一致。
<div style="margin: 0.4em 0;"></div>
<span class="field">化学分析:</span>
<div class="result-box">
<span class="gold">成分鉴定:葡萄藤提取物 · 提纯级别</span><br>
<span style="color: #667788; font-size: 0.85em;">—— 该毒素由葡萄藤组织经化学提纯后制成,非自然腐败产物。</span>
</div>
<div class="result-box">
<span class="gold">毒理评估:高致命性</span><br>
<span style="color: #667788; font-size: 0.85em;">—— 微量摄入即可致中枢神经麻痹,呼吸衰竭。</span>
</div>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">与本案关联:</span><br>
<span style="color: #ccd4dc;">
• 死者蒋易体内检出微量葡萄藤毒素。<br>
• 该毒素与本案中发现的白色粉末成分一致。<br>
• 毒素来源:银丘酒庄葡萄园——园丁小屋内存放有葡萄藤提纯药剂。
</span>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 该物质不属于市售农药,提取过程需要专业设备与化学知识。<br>
◈ 酒庄内部人员具备获取该毒素的便利条件。
</span><!--<!--Comment Text-->-->
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回证物室]")[(goto:"勘查_证物室")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .dialogue {
border-left: 2px solid rgba(201, 169, 110, 0.06);
padding-left: 0.8em;
margin: 0.3em 0;
font-style: italic;
color: #8899aa;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案017 ╱</span>
<span class="doc-badge">INTERROGATION · WILL</span>
</div>
<div class="doc-paper">
<div class="doc-headline">酒保威尔 · 书面审讯笔录</div>
<div class="doc-body">
<span class="field">受讯人:</span>威尔(银丘酒庄酒保)<br>
<span class="field">讯问人:</span>天宇·托比、见习警员楠森·王<br>
<span class="field">讯问时间:</span>1998.10.27 16:00 — 18:30<br>
<span class="field">记录方式:</span>书面笔录 · 威尔签字确认
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span style="color: #ccd4dc;">威尔在讯问中供述以下内容:</span>
<div class="dialogue">
"晚宴开始前大约一个小时,马库斯·土豆把我叫到宴会厅后面的储物间里。他关上门,跟我说,今晚蒋易警长会来,让我把一瓶东西倒进他的酒杯里。"
</div>
<div class="dialogue">
"我问他那是什么。他说你不用管。然后他从口袋里掏出一个白色小瓶——就是你们后来找到的那个——放在我手里。"
</div>
<div class="dialogue">
"他说我不做也行,他让我妈明天就进不了医院。"
</div>
<div class="dialogue">
"我当时不知道那是什么。后来我知道那是毒药。但我没跟任何人说过。他说的那句……我没办法。"<br>
<span style="color: #445566; font-size: 0.8em;">—— 威尔说到这里时停顿了约四十秒。双手交握在桌面上,指节发白。</span>
</div>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">讯问结论:</span><br>
<span style="color: #ccd4dc;">
• 马库斯·土豆将毒药亲手交给威尔。<br>
• 威尔在胁迫下执行投毒指令。<br>
• 威尔确认药瓶外观与现场提取的物证一致。<br>
• 威尔不知晓药瓶内具体成分,但知道"不是好东西"。
</span>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 威尔对马库斯指认清晰、细节明确。<br>
◈ 马库斯以家人安全相要挟的说法,与威尔当日的异常行为记录吻合。<br>
◈ 该笔录为本案关键证据。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回证物室]")[(goto:"勘查_证物室")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_现场卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
}
.doc-paper .letter-body {
font-family: 'Playfair Display', serif;
font-size: 0.95em;
color: #ccd4dc;
line-height: 2;
}
.doc-paper .letter-body .salutation {
color: #8899aa;
}
.doc-paper .letter-body .gold {
color: #c9a96e;
}
.doc-paper .letter-body .signoff {
text-align: right;
font-style: italic;
color: #8899aa;
margin-top: 1em;
padding-top: 0.5em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .letter-body .signoff .name {
color: #c9a96e;
font-style: normal;
letter-spacing: 2px;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案018 ╱</span>
<span class="doc-badge">DRAFT · 1998</span>
</div>
<div class="doc-paper">
<div class="letter-body">
<div style="text-align: center; font-size: 0.6em; letter-spacing: 4px; color: #445566; margin-bottom: 1em;">苏塞克斯警署 · 信笺</div>
<span class="salutation">尊敬的朵蒂·李勋爵:</span>
感谢您的盛情邀请。然因公务繁忙,恐无法出席本月26日晚在银丘酒庄举办的品鉴晚宴,特此回绝。
另,关于贵庄近年税务账目……<span style="color: #445566; font-size: 0.8em;">(此处字迹模糊,无法辨认)</span>
<div style="margin-top: 1.2em;">
此致<br>
敬礼
</div>
<div class="signoff">
—— 蒋易<br>
<span class="name">苏塞克斯警署 · 侦缉警长</span>
</div>
<div style="font-size: 0.6em; color: #445566; letter-spacing: 1px; margin-top: 0.8em; border-top: 1px solid rgba(201, 169, 110, 0.04); padding-top: 0.4em;">
DATE:1998.10.24
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回警署办公室]")[(goto:"勘查_警署办公室")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_警长遗物")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');
.receipt-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 3em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.8s ease;
}
.receipt-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.receipt-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.6em;
}
.receipt-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.receipt-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.receipt-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
white-space: nowrap;
}
.receipt-paper {
position: relative;
padding: 2.5em 3em;
margin: 1em 0 1.5em 0;
background: rgba(201, 169, 110, 0.02);
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 4px;
box-shadow: 0 4px 60px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(201, 169, 110, 0.04);
animation: unfoldPaper 0.8s ease;
}
.receipt-paper::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, rgba(201, 169, 110, 0.01) 0%, transparent 20%, transparent 80%, rgba(201, 169, 110, 0.01) 100%);
pointer-events: none;
border-radius: 4px;
}
.receipt-paper .letterhead {
text-align: center;
font-family: 'Playfair Display', serif;
font-size: 0.65em;
letter-spacing: 6px;
color: #445566;
margin-bottom: 1.5em;
padding-bottom: 0.8em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
text-transform: uppercase;
}
.receipt-paper .letter-body {
font-family: 'Playfair Display', serif;
font-size: 1.05em;
font-weight: 400;
line-height: 2.2;
color: #ccd4dc;
padding: 0 0.5em;
}
.receipt-paper .letter-body .chinese-text {
font-size: 0.85em;
}
.receipt-paper .letter-body .salutation {
color: #aabbcc;
font-weight: 400;
}
.receipt-paper .letter-body .signoff {
text-align: right;
font-style: italic;
color: #8899aa;
margin-top: 1.2em;
padding-top: 0.5em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
font-size: 0.95em;
}
.receipt-paper .letter-body .signoff .name {
color: #c9a96e;
font-style: normal;
letter-spacing: 2px;
}
.receipt-paper .letter-body .date-line {
font-size: 0.75em;
color: #445566;
letter-spacing: 1px;
margin-bottom: 1em;
}
.receipt-paper .letter-body .highlight-text {
color: #c9a96e;
font-weight: 400;
letter-spacing: 0.5px;
}
.receipt-unlock {
font-family: 'Inter', sans-serif;
font-size: 0.75em;
letter-spacing: 3px;
color: #c9a96e;
text-align: center;
margin: 1.2em 0 0.8em 0;
padding: 0.5em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
background: rgba(201, 169, 110, 0.02);
opacity: 0.7;
}
.receipt-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.receipt-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.receipt-back tw-link {
color: #667788 !important;
}
.receipt-back:hover tw-link {
color: #c9a96e !important;
}
.receipt-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.receipt-nav tw-link {
color: #667788 !important;
}
.receipt-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes unfoldPaper {
0% { opacity: 0; transform: scale(0.95); }
60% { opacity: 0.8; transform: scale(1.01); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="receipt-container">
<div class="receipt-header">
<span class="receipt-title">
╲ 警服回执 ╱
<span class="receipt-title-eng">— EVIDENCE · 019</span>
</span>
<span class="receipt-badge">H A N B U R Y</span>
</div>
<div class="receipt-paper">
<div class="letterhead">
<span>-H A N B U R Y -</span>
</div>
<div class="letter-body">
<div class="date-line">Jul.8.1998</div>
<span class="salutation">尊敬的蒋易先生:</span>
<span class="chinese-text">您于1998年7月8日在本店定制</span><span class="highlight-text">深色细条纹西装</span><span class="chinese-text">一套,尺码已按您提供的要求记录在案。预计完工时间为三周后。</span>
<span class="chinese-text">感谢您的惠顾。</span>
<div class="signoff">
—— Hanbury Tailors <br>
</div>
</div>
<div class="receipt-unlock">
◈ 解锁档案019:汉伯里裁坊订单回执 ◈
</div>
<div class="receipt-footer">
<span class="receipt-back">(link:"[返回勘查]")[(goto:"勘查_警署办公室")]</span>
<span class="doc-back">(link:"[返回档案室]")[(goto:"档案_警长遗物")]</span>
<span class="receipt-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #445566;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #c9a96e;
}
.doc-paper .doc-body .dim {
color: #445566;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .case-entry {
padding: 0.3em 0.8em;
border-left: 2px solid rgba(201, 169, 110, 0.04);
margin: 0.2em 0;
}
.doc-paper .doc-body .case-entry .case-title {
color: #c9a96e;
font-weight: 400;
}
.doc-paper .doc-body .signature-block {
margin-top: 0.6em;
padding: 0.4em 0.8em;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #667788 !important;
}
.doc-back:hover tw-link {
color: #c9a96e !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #667788 !important;
}
.doc-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案020 ╱</span>
<span class="doc-badge">ARCHIVE · COLD CASES</span>
</div>
<div class="doc-paper">
<div class="doc-headline">往年积压旧案 · 封存残卷</div>
<div class="doc-body">
<span class="field">档案提取人:</span>天宇·托比<br>
<span class="field">提取时间:</span>1998.10.29<br>
<span class="field">档案状态:</span><span style="color: #c9a96e;">部分损毁 · 残卷</span>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span style="color: #ccd4dc;">以下三起案件卷宗被一同封存在证物室最底层铁柜中:</span>
<div class="case-entry">
<span class="case-title">1997年8月 · 佩金丝酒馆集体中毒案</span><br>
<span style="color: #667788; font-size: 0.85em;">十七人送医,关键酒水样本"丢失"。</span>
</div>
<div class="case-entry">
<span class="case-title">1998年1月 · 银丘酒庄老园丁遇害案</span><br>
<span style="color: #667788; font-size: 0.85em;">园丁死在小屋,账本与备用钥匙同时失窃,现场被认定为"意外死亡"。</span>
</div>
<div class="case-entry">
<span class="case-title">1998年5月 · 警署档案室纵火案</span><br>
<span style="color: #667788; font-size: 0.85em;">所有与银丘酒庄、马库斯集团相关的旧案卷一夜烧毁,起火原因"不明"。</span>
</div>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">关键发现:</span>
<div class="signature-block">
<span style="color: #ccd4dc;">三起案件的卷宗末尾,结案签字栏里的笔迹相同。</span><br>
<span style="color: #667788; font-size: 0.85em;">—— 同一支笔,同一种写法,同一个人的签字风格。</span>
</div>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #445566; font-size: 0.8em;">
◈ 三起案件均涉及银丘酒庄或马库斯集团。<br>
◈ 三份结案书上的签字笔迹经初步比对,高度相似。<br>
◈ 该档案可作为"旧案被系统性压下"的佐证。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回证物室]")[(goto:"勘查_证物室")]</span>
<span class="doc-back">(link:"[返回旧案卷宗]")[(goto:"档案_旧案卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.doc-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.15);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
animation: slideUp 0.5s ease;
}
.doc-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.doc-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.12);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.doc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #e8d5a0;
}
.doc-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #667788;
border: 1px solid rgba(201, 169, 110, 0.1);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.doc-paper {
padding: 1.5em 2em;
margin: 0.5em 0 1.5em 0;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 4px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.15);
animation: fadeInDoc 0.6s ease;
}
.doc-paper .doc-headline {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 0.7em;
letter-spacing: 6px;
color: #667788;
text-transform: uppercase;
margin-bottom: 1.2em;
padding-bottom: 0.6em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
}
.doc-paper .doc-body {
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
line-height: 2.2;
}
.doc-paper .doc-body .gold {
color: #e8d5a0;
}
.doc-paper .doc-body .dim {
color: #556677;
}
.doc-paper .doc-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.doc-paper .doc-body .signature-block {
margin-top: 0.6em;
padding: 0.6em 1em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
border-radius: 2px;
text-align: center;
}
.doc-paper .doc-body .signature-block .sig-name {
font-family: 'Cormorant Garamond', serif;
font-size: 1.3em;
color: #e8d5a0;
letter-spacing: 4px;
}
.doc-paper .doc-body .signature-block .sig-detail {
font-size: 0.7em;
color: #667788;
letter-spacing: 1px;
}
.doc-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.08);
}
.doc-back {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-back tw-link {
color: #8899aa !important;
}
.doc-back:hover tw-link {
color: #e8d5a0 !important;
}
.doc-nav {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.doc-nav tw-link {
color: #8899aa !important;
}
.doc-nav:hover tw-link {
color: #e8d5a0 !important;
}
@keyframes slideUp {
0% { opacity: 0; transform: translateY(30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDoc {
0% { opacity: 0; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="doc-container">
<div class="doc-header">
<span class="doc-title">╲ 档案021 ╱</span>
<span class="doc-badge">SIGNATURE · MATCH</span>
</div>
<div class="doc-paper">
<div class="doc-headline">莱昂·吕 · 案件驳回签字记录</div>
<div class="doc-body">
<span class="field">档案来源:</span>证物储藏室 · 封存旧案卷宗<br>
<span class="field">提取人:</span>天宇·托比<br>
<span class="field">提取时间:</span>1998.10.29<br>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span style="color: #ccd4dc;">
在对三起旧案的比对分析中,一个关键证据浮出水面——
</span>
<div style="margin: 0.6em 0;"></div>
<span class="field">比对结果:</span>
<div class="signature-block">
<div class="sig-name">莱昂·吕</div>
<div class="sig-detail">▼ 以下三起案件均由同一个人签字驳回</div>
</div>
<div style="padding: 0.3em 0.8em; margin: 0.3em 0; border-left: 2px solid rgba(201, 169, 110, 0.04);">
• 佩金丝酒馆集体中毒案 —— <span class="gold">结案 · 证据不足</span>
</div>
<div style="padding: 0.3em 0.8em; margin: 0.3em 0; border-left: 2px solid rgba(201, 169, 110, 0.04);">
• 老园丁遇害案 —— <span class="gold">结案 · 判定自杀</span>
</div>
<div style="padding: 0.3em 0.8em; margin: 0.3em 0; border-left: 2px solid rgba(201, 169, 110, 0.04);">
• 警署档案室纵火案 —— <span class="gold">结案 · 原因不明</span>
</div>
<div style="margin: 0.6em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<span class="field">笔迹鉴定:</span><br>
<span style="color: #ccd4dc;">
三份卷宗末尾的签字经初步比对,<span class="gold">签名线条走势、字母间距、力度分布完全一致</span>。<br>
<span style="color: #667788; font-size: 0.85em;">—— 三起案件由同一人签批结案。</span>
</span>
<div style="margin-top: 0.8em; padding-top: 0.4em; border-top: 1px solid rgba(201, 169, 110, 0.04);">
<span style="color: #556677; font-size: 0.8em;">
◈ 莱昂·吕以"证据不足"等理由将三起涉及银丘酒庄的案件全部压下。<br>
◈ 该签字记录可作为"高层系统性包庇"的直接证据。<br>
◈ 结合蒋易警长遇害案,莱昂·吕的涉案链条已初步闭合。
</span>
</div>
</div>
</div>
<div class="doc-footer">
<span class="doc-back">(link:"[返回旧案卷宗]")[(goto:"档案_旧案卷宗")]</span>
<span class="doc-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&display=swap');
tw-link {
color: #ccd4dc !important;
font-weight: 300 !important;
text-decoration: none !important;
transition: color 0.25s ease;
}
tw-link:hover {
color: #e8d5a0 !important;
}
tw-link:visited {
color: #aabbcc !important;
}
.logic-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.15);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
}
.logic-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.logic-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.12);
padding-bottom: 0.6em;
margin-bottom: 1.2em;
}
.logic-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 6px;
color: #e8d5a0;
}
.logic-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #667788;
font-weight: 300;
margin-left: 0.8em;
}
.logic-badge {
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 3px;
color: #667788;
border: 1px solid rgba(201, 169, 110, 0.1);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.logic-progress {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
color: #8899aa;
letter-spacing: 2px;
font-weight: 300;
text-align: right;
margin-bottom: 1.2em;
padding: 0.4em 1em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
background: rgba(201, 169, 110, 0.02);
}
.logic-progress .number {
color: #e8d5a0;
font-weight: 400;
}
.logic-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.4em 1em;
margin-bottom: 1.2em;
}
.logic-item {
display: block;
padding: 0.4em 0.8em 0.4em 1em;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #ccd4dc;
font-weight: 300;
letter-spacing: 0.3px;
transition: all 0.3s ease;
border-radius: 0 2px 2px 0;
}
.logic-item:hover {
border-left-color: rgba(201, 169, 110, 0.3);
background: rgba(201, 169, 110, 0.04);
}
.logic-item .status {
margin-right: 0.4em;
}
.logic-item .status .found {
color: #e8d5a0;
}
.logic-item .status .missing {
color: #556677;
}
.logic-item .num {
color: #556677;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.5em;
font-weight: 400;
}
.logic-item .lock {
color: #556677;
font-size: 0.65em;
letter-spacing: 1px;
margin-left: 0.6em;
font-weight: 400;
}
.logic-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.2em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.08);
}
.logic-back {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.logic-back tw-link {
color: #8899aa !important;
}
.logic-back:hover tw-link {
color: #e8d5a0 !important;
}
.logic-nav {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.logic-nav tw-link {
color: #8899aa !important;
}
.logic-nav:hover tw-link {
color: #e8d5a0 !important;
}
.hidden-counter {
display: none;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<!-- 隐藏的计数区域 -->
<div class="hidden-counter">
(set: $logic_count to 0)
(if: $clue022 is 1)[(set: $logic_count to $logic_count + 1)]
(if: $clue023 is 1)[(set: $logic_count to $logic_count + 1)]
(if: $clue024 is 1)[(set: $logic_count to $logic_count + 1)]
(if: $clue025 is 1)[(set: $logic_count to $logic_count + 1)]
(if: $clue026 is 1)[(set: $logic_count to $logic_count + 1)]
(if: $clue027 is 1)[(set: $logic_count to $logic_count + 1)]
(if: $clue028 is 1)[(set: $logic_count to $logic_count + 1)]
(if: $clue029 is 1)[(set: $logic_count to $logic_count + 1)]
</div>
<div class="logic-container">
<div class="logic-header">
<span class="logic-title">
╲ 推理档案 ╱
<span class="logic-title-eng">— DEDUCTION</span>
</span>
<span class="logic-badge">8 ITEMS</span>
</div>
<div class="logic-grid">
<div class="logic-item">
<span class="status">(if: $clue022 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">022</span> (link:"投毒全过程证据链汇总")[(goto:"档案022_详情")]
(if: $clue022 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="logic-item">
<span class="status">(if: $clue023 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">023</span> (link:"死因与凶器鉴定记录")[(goto:"档案023_详情")]
(if: $clue023 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="logic-item">
<span class="status">(if: $clue024 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">024</span> (link:"莱昂·吕外貌特征交叉验证报告")[(goto:"档案024_详情")]
(if: $clue024 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="logic-item">
<span class="status">(if: $clue025 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">025</span> (link:"警署内部包庇完整证据链")[(goto:"档案025_详情")]
(if: $clue025 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="logic-item">
<span class="status">(if: $clue026 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">026</span> (link:"集团与酒庄商业舞弊贿赂事实")[(goto:"档案026_详情")]
(if: $clue026 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="logic-item">
<span class="status">(if: $clue027 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">027</span> (link:"马库斯作案动机佐证报告")[(goto:"档案027_详情")]
(if: $clue027 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="logic-item">
<span class="status">(if: $clue028 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">028</span> (link:"莱昂·吕行凶与嫁祸闭环报告")[(goto:"档案028_详情")]
(if: $clue028 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="logic-item">
<span class="status">(if: $clue029 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">029</span> (link:"理查德·广双面稿件报告")[(goto:"档案029_详情")]
(if: $clue029 is 0)[<span class="lock">【未解锁】</span>]
</div>
</div>
<div class="logic-progress">
已解锁 <span class="number">$logic_count</span> / 8
</div>
<!-- ====== 推理者成就 ====== -->
(if: $logic_master is 0 and $clue022 is 1 and $clue023 is 1 and $clue024 is 1 and $clue025 is 1 and $clue026 is 1 and $clue027 is 1 and $clue028 is 1 and $clue029 is 1)[
(set: $logic_master to 1)
(dialog: "🧩 推理者", "八条推理档案全部解锁。
真相的拼图,已经完整了!")
]
<div class="logic-footer">
<span class="logic-back">(link:"[返回档案室]")[(goto:"线索档案室")]</span>
<span class="logic-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&display=swap');
tw-link {
color: #ccd4dc !important;
font-weight: 300 !important;
text-decoration: none !important;
transition: color 0.25s ease;
}
tw-link:hover {
color: #e8d5a0 !important;
}
tw-link:visited {
color: #aabbcc !important;
}
.cold-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.15);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
}
.cold-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.cold-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.12);
padding-bottom: 0.6em;
margin-bottom: 1.2em;
}
.cold-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 6px;
color: #e8d5a0;
}
.cold-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #667788;
font-weight: 300;
margin-left: 0.8em;
}
.cold-badge {
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 3px;
color: #667788;
border: 1px solid rgba(201, 169, 110, 0.1);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.cold-progress {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
color: #8899aa;
letter-spacing: 2px;
font-weight: 300;
text-align: right;
margin-bottom: 1.2em;
padding: 0.4em 1em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
background: rgba(201, 169, 110, 0.02);
}
.cold-progress .number {
color: #e8d5a0;
font-weight: 400;
}
.cold-stack {
display: flex;
flex-direction: column;
gap: 0.6em;
margin-bottom: 1.2em;
}
.cold-item {
display: flex;
align-items: center;
padding: 0.6em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 3px;
transition: all 0.3s ease;
}
.cold-item:hover {
border-color: rgba(201, 169, 110, 0.15);
background: rgba(201, 169, 110, 0.04);
}
.cold-item .status {
margin-right: 0.8em;
font-size: 1em;
}
.cold-item .status .found {
color: #e8d5a0;
}
.cold-item .status .missing {
color: #556677;
}
.cold-item .num {
color: #556677;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
min-width: 3em;
}
.cold-item .name {
color: #ccd4dc;
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
letter-spacing: 0.3px;
flex: 1;
}
.cold-item .lock {
color: #556677;
font-size: 0.65em;
letter-spacing: 1px;
margin-left: 0.6em;
font-weight: 400;
}
.cold-item .view-link {
color: #667788;
font-size: 0.65em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.cold-item .view-link:hover tw-link {
color: #e8d5a0 !important;
}
.cold-analysis-entry {
padding: 0.4em 0.8em;
margin-top: 0.4em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
background: rgba(201, 169, 110, 0.01);
text-align: center;
transition: all 0.3s ease;
}
.cold-analysis-entry:hover {
border-color: rgba(201, 169, 110, 0.08);
background: rgba(201, 169, 110, 0.02);
}
.cold-analysis-entry .label {
font-family: 'Inter', sans-serif;
font-size: 0.6em;
color: #445566;
letter-spacing: 2px;
}
.cold-analysis-entry .title {
font-family: 'Cormorant Garamond', serif;
font-size: 0.85em;
color: #8899aa;
letter-spacing: 1px;
margin-top: 0.1em;
}
.cold-analysis-entry .title tw-link {
color: #667788 !important;
}
.cold-analysis-entry .title:hover tw-link {
color: #e8d5a0 !important;
}
.cold-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.2em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.08);
}
.cold-back {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.cold-back tw-link {
color: #8899aa !important;
}
.cold-back:hover tw-link {
color: #e8d5a0 !important;
}
.cold-nav {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.cold-nav tw-link {
color: #8899aa !important;
}
.cold-nav:hover tw-link {
color: #e8d5a0 !important;
}
.hidden-counter {
display: none;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<!-- 隐藏的计数区域 -->
<div class="hidden-counter">
(set: $old_count to 0)
(if: $clue020 is 1)[(set: $old_count to $old_count + 1)]
(if: $clue021 is 1)[(set: $old_count to $old_count + 1)]
</div>
<div class="cold-container">
<div class="cold-header">
<span class="cold-title">
╲ 旧案卷宗 ╱
<span class="cold-title-eng">— COLD CASES</span>
</span>
<span class="cold-badge">2 ITEMS</span>
</div>
<div class="cold-stack">
<div class="cold-item">
<span class="status">(if: $clue020 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">020</span>
<span class="name">(link:"往年积压旧案封存残卷")[(goto:"档案020_详情")]</span>
(if: $clue020 is 0)[<span class="lock">【未解锁】</span>]
</div>
<!-- 只有解锁020后,才显示分析入口 -->
(if: $clue020 is 1)[
<div class="cold-analysis-entry">
<div class="label">◆ 卷宗分析</div>
<div class="title">(link:"旧案分析比对 →")[(goto:"旧案_分析比对")]</div>
</div>
]
<div class="cold-item">
<span class="status">(if: $clue021 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">021</span>
<span class="name">(link:"莱昂·吕案件驳回签字记录")[(goto:"档案021_详情")]</span>
(if: $clue021 is 0)[<span class="lock">【未解锁】</span>]
</div>
</div>
<div class="cold-progress">
已解锁 <span class="number">$old_count</span> / 2
</div>
<div class="cold-footer">
<span class="cold-back">(link:"[返回档案室]")[(goto:"线索档案室")]</span>
<span class="cold-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&display=swap');
tw-link {
color: #ccd4dc !important;
font-weight: 300 !important;
text-decoration: none !important;
transition: color 0.25s ease;
}
tw-link:hover {
color: #e8d5a0 !important;
}
tw-link:visited {
color: #aabbcc !important;
}
.file-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.15);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
}
.file-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.file-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.12);
padding-bottom: 0.6em;
margin-bottom: 1.2em;
}
.file-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 6px;
color: #e8d5a0;
}
.file-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #667788;
font-weight: 300;
margin-left: 0.8em;
}
.file-badge {
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 3px;
color: #667788;
border: 1px solid rgba(201, 169, 110, 0.1);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.file-progress {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
color: #8899aa;
letter-spacing: 2px;
font-weight: 300;
text-align: right;
margin-bottom: 1.2em;
padding: 0.4em 1em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
background: rgba(201, 169, 110, 0.02);
}
.file-progress .number {
color: #e8d5a0;
font-weight: 400;
}
.file-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.4em 1em;
margin-bottom: 1.2em;
}
.file-item {
display: block;
padding: 0.4em 0.8em 0.4em 1em;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.9em;
color: #ccd4dc;
font-weight: 300;
letter-spacing: 0.3px;
transition: all 0.3s ease;
border-radius: 0 2px 2px 0;
}
.file-item:hover {
border-left-color: rgba(201, 169, 110, 0.3);
background: rgba(201, 169, 110, 0.04);
}
.file-item .status {
margin-right: 0.4em;
}
.file-item .status .found {
color: #e8d5a0;
}
.file-item .status .missing {
color: #556677;
}
.file-item .num {
color: #556677;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.5em;
font-weight: 400;
}
.file-item .lock {
color: #556677;
font-size: 0.65em;
letter-spacing: 1px;
margin-left: 0.6em;
font-weight: 400;
}
.file-item .view-link {
color: #667788;
font-size: 0.65em;
letter-spacing: 1px;
margin-left: 0.5em;
transition: all 0.3s ease;
}
.file-item .view-link:hover tw-link {
color: #e8d5a0 !important;
}
.file-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.2em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.08);
}
.file-back {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.file-back tw-link {
color: #8899aa !important;
}
.file-back:hover tw-link {
color: #e8d5a0 !important;
}
.file-nav {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.file-nav tw-link {
color: #8899aa !important;
}
.file-nav:hover tw-link {
color: #e8d5a0 !important;
}
.hidden-counter {
display: none;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<!-- 隐藏的计数区域 -->
<div class="hidden-counter">
(set: $scene_count to 0)
(if: $clue001 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue002 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue003 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue004 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue005 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue006 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue007 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue008 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue009 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue010 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue011 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue012 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue013 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue014 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue015 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue016 is 1)[(set: $scene_count to $scene_count + 1)]
(if: $clue017 is 1)[(set: $scene_count to $scene_count + 1)]
</div>
<div class="file-container">
<div class="file-header">
<span class="file-title">
╲ 现场卷宗 ╱
<span class="file-title-eng">— CRIME SCENE</span>
</span>
<span class="file-badge">17 ITEMS</span>
</div>
<div class="file-grid">
<div class="file-item">
<span class="status">(if: $clue001 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">001</span> (link:"马库斯集团财务造假流水单据")[(goto:"档案001_详情")]
(if: $clue001 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue002 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">002</span> (link:"酒保威尔酒水配送台账")[(goto:"档案002_详情")]
(if: $clue002 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue003 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">003</span> (link:"红酒专栏品鉴手稿复印件")[(goto:"档案003_详情")]
(if: $clue003 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue004 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">004</span> (link:"黑色厚框眼镜物证记录")[(goto:"档案004_详情")]
(if: $clue004 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue005 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">005</span> (link:"死者初步尸检报告")[(goto:"档案005_详情")]
(if: $clue005 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue006 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">006</span> (link:"已故园丁日记原件")[(goto:"档案006_详情")]
(if: $clue006 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue007 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">007</span> (link:"酒窖备用钥匙失窃记录")[(goto:"档案007_详情")]
(if: $clue007 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue008 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">008</span> (link:"小瓶指纹提取报告")[(goto:"档案008_详情")]
(if: $clue008 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue009 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">009</span> (link:"朵蒂与莱昂·吕私人邮件")[(goto:"档案009_详情")]
(if: $clue009 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue010 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">010</span> (link:"冰毛巾凶器残留物证记录")[(goto:"档案010_详情")]
(if: $clue010 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue011 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">011</span> (link:"马库斯与朵蒂私人邮件")[(goto:"档案011_详情")]
(if: $clue011 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue012 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">012</span> (link:"酒馆店主书面传闻证词")[(goto:"档案012_详情")]
(if: $clue012 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue013 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">013</span> (link:"马库斯酒馆消费台账")[(goto:"档案013_详情")]
(if: $clue013 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue014 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">014</span> (link:"未刊发负面专栏底稿")[(goto:"档案014_详情")]
(if: $clue014 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue015 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">015</span> (link:"酒庄礼品拒收单据")[(goto:"档案015_详情")]
(if: $clue015 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue016 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">016</span> (link:"白色粉末化验报告")[(goto:"档案016_详情")]
(if: $clue016 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue017 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">017</span> (link:"酒保威尔审讯笔录")[(goto:"档案017_详情")]
(if: $clue017 is 0)[<span class="lock">【未解锁】</span>]
</div>
</div>
<div class="file-progress">
已解锁 <span class="number">$scene_count</span> / 17
</div>
<div class="file-footer">
<span class="file-back">(link:"[返回档案室]")[(goto:"线索档案室")]</span>
<span class="file-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&display=swap');
tw-link {
color: #ccd4dc !important;
font-weight: 300 !important;
text-decoration: none !important;
transition: color 0.25s ease;
}
tw-link:hover {
color: #e8d5a0 !important;
}
tw-link:visited {
color: #aabbcc !important;
}
.file-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.15);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
}
.file-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.file-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.12);
padding-bottom: 0.6em;
margin-bottom: 1.2em;
}
.file-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 6px;
color: #e8d5a0;
}
.file-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #667788;
font-weight: 300;
margin-left: 0.8em;
}
.file-badge {
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 3px;
color: #667788;
border: 1px solid rgba(201, 169, 110, 0.1);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.file-progress {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
color: #8899aa;
letter-spacing: 2px;
font-weight: 300;
text-align: right;
margin-bottom: 1.2em;
padding: 0.4em 1em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
background: rgba(201, 169, 110, 0.02);
}
.file-progress .number {
color: #e8d5a0;
font-weight: 400;
}
.file-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.4em 1em;
margin-bottom: 1.2em;
}
.file-item {
display: block;
padding: 0.4em 0.8em 0.4em 1em;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.9em;
color: #ccd4dc;
font-weight: 300;
letter-spacing: 0.3px;
transition: all 0.3s ease;
border-radius: 0 2px 2px 0;
}
.file-item:hover {
border-left-color: rgba(201, 169, 110, 0.3);
background: rgba(201, 169, 110, 0.04);
}
.file-item .status {
margin-right: 0.4em;
}
.file-item .status .found {
color: #e8d5a0;
}
.file-item .status .missing {
color: #556677;
}
.file-item .num {
color: #556677;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.5em;
font-weight: 400;
}
.file-item .lock {
color: #556677;
font-size: 0.65em;
letter-spacing: 1px;
margin-left: 0.6em;
font-weight: 400;
}
.file-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.2em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.08);
}
.file-back {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.file-back tw-link {
color: #8899aa !important;
}
.file-back:hover tw-link {
color: #e8d5a0 !important;
}
.file-nav {
font-family: 'Inter', sans-serif;
color: #8899aa;
font-size: 0.85em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.file-nav tw-link {
color: #8899aa !important;
}
.file-nav:hover tw-link {
color: #e8d5a0 !important;
}
.hidden-counter {
display: none;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<!-- 隐藏的计数区域 -->
<div class="hidden-counter">
(set: $relic_count to 0)
(if: $clue018 is 1)[(set: $relic_count to $relic_count + 1)]
(if: $clue019 is 1)[(set: $relic_count to $relic_count + 1)]
</div>
<div class="file-container">
<div class="file-header">
<span class="file-title">
╲ 警长遗物 ╱
<span class="file-title-eng">— RELICS</span>
</span>
<span class="file-badge">2 ITEMS</span>
</div>
<div class="file-grid">
<div class="file-item">
<span class="status">(if: $clue018 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">018</span> (link:"晚宴回绝邮件草稿")[(goto:"档案018_详情")]
(if: $clue018 is 0)[<span class="lock">【未解锁】</span>]
</div>
<div class="file-item">
<span class="status">(if: $clue019 is 1)[<span class="found">◈</span>](else:)[<span class="missing">◇</span>]</span>
<span class="num">019</span> (link:"汉伯里裁坊订单回执")[(goto:"档案019_详情")]
(if: $clue019 is 0)[<span class="lock">【未解锁】</span>]
</div>
</div>
<div class="file-progress">
已解锁 <span class="number">$relic_count</span> / 2
</div>
<div class="file-footer">
<span class="file-back">(link:"[返回档案室]")[(goto:"线索档案室")]</span>
<span class="file-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]{/* ========== 游戏初始化 ========== */}
(link:"开始游戏")[(goto:"案件前传_1")]
{/* ========== 现场卷宗线索(001-017)全部初始为0 ========== */}
(set: $clue001 to 0, $clue002 to 0, $clue003 to 0, $clue004 to 0, $clue005 to 0, $clue006 to 0, $clue007 to 0, $clue008 to 0, $clue009 to 0, $clue010 to 0, $clue011 to 0, $clue012 to 0, $clue013 to 0, $clue014 to 0, $clue015 to 0, $clue016 to 0, $clue017 to 0)
{/* ========== 警长遗物线索(018-019)全部初始为0 ========== */}
(set: $clue018 to 0, $clue019 to 0)
{/* ========== 旧案卷宗线索(020-021)全部初始为0 ========== */}
(set: $clue020 to 0, $clue021 to 0)
{/* ========== 推理档案线索(022-029)全部初始为0 ========== */}
(set: $clue022 to 0, $clue023 to 0, $clue024 to 0, $clue025 to 0, $clue026 to 0, $clue027 to 0, $clue028 to 0, $clue029 to 0)
{/* ========== 交叉比对选择变量 ========== */}
(set: $choice1 to "请选择", $choice2 to "请选择")
{/* ========== 指控失败次数计数器 ========== */}
(set: $fail_count to 0)
{/* ========== 指控凶手多选变量 ========== */}
(set: $accuse_marcus to false, $accuse_leon to false, $accuse_wil to false, $accuse_dottie to false, $accuse_richard to false, $accuse_carrington to false, $accuse_liu to false)
{/* ========== 指控证据多选变量 ========== */}
(set: $accuse_029 to false, $accuse_030 to false, $accuse_031 to false, $accuse_032 to false, $accuse_033 to false)
{/* ========== 判定用临时变量 ========== */}
(set: $suspects_ok to false, $evidence_ok to false, $count to 0)
{/* ========== 彩蛋相关变量 ========== */}
(set: $clue_hanbury to false)
{/* ========== 彩蛋密码变量 ========== */}
(set: $egg_code to 0)
(set: $egg_len to 0)
(set: $desk_clicks to 0)
(set: $egg_ghost_triggered to 0)
(set: $dev_egg_show to 0)
(set: $egg_playthrough_count to 0) /* 多周目彩蛋 */
{/* ========== 成就变量 ========== */}
(set: $book_collector to 0)
(set: $pen_master to 0)
(set: $logic_master to 0)
(set: $first_logic to 0)
(set: $photo_clicks to 0)
(set: $crack_egg to 0)
(set: $safe_clicks to 0)
(set: $crack_triggered to 0)
(set: $last_lesson_triggered to 0)
(set: $clue_last_lesson to 0)
{/* ========== 音乐bgm变量 ========== */}
<!-- 测试模式 · 隐藏在底部角落 -->
<div style="text-align: right; font-size: 0.4em; color: #223344; letter-spacing: 1px; margin-top: 3em;">
(link:"现场+警长+旧案+推理→交叉对比")[
(set: $clue001 to 1, $clue002 to 1, $clue003 to 1, $clue004 to 1, $clue005 to 1, $clue006 to 1, $clue007 to 1, $clue008 to 1, $clue009 to 1, $clue010 to 1, $clue011 to 1, $clue012 to 1, $clue013 to 1, $clue014 to 1, $clue015 to 1, $clue016 to 1, $clue017 to 1, $clue018 to 1, $clue019 to 1, $clue020 to 1, $clue021 to 1)
(goto:"交叉比对")
]
</div>
<!-- 测试模式 · 隐藏在底部角落 -->
<div style="text-align: right; font-size: 0.4em; color: #223344; letter-spacing: 1px; margin-top: 3em;">
(link:"现场+旧案+推理→指控")[
<!-- 现场卷宗 (001-017) -->
(set: $clue001 to 1, $clue002 to 1, $clue003 to 1, $clue004 to 1, $clue005 to 1, $clue006 to 1, $clue007 to 1, $clue008 to 1, $clue009 to 1, $clue010 to 1, $clue011 to 1, $clue012 to 1, $clue013 to 1, $clue014 to 1, $clue015 to 1, $clue016 to 1, $clue017 to 1)
<!-- 旧案卷宗 (020-021) -->
(set: $clue020 to 1, $clue021 to 1)
<!-- 推理档案 (022-029) -->
(set: $clue022 to 1, $clue023 to 1, $clue024 to 1, $clue025 to 1, $clue026 to 1, $clue027 to 1, $clue028 to 1, $clue029 to 1)
(goto:"提交指控")
]
</div>
<!-- 测试模式 · 隐藏在底部角落 -->
<div style="text-align: right; font-size: 0.4em; color: #223344; letter-spacing: 1px; margin-top: 3em;">
(link:"现场+警长+旧案+推理→指控")[
<!-- 现场卷宗 (001-017) -->
(set: $clue001 to 1, $clue002 to 1, $clue003 to 1, $clue004 to 1, $clue005 to 1, $clue006 to 1, $clue007 to 1, $clue008 to 1, $clue009 to 1, $clue010 to 1, $clue011 to 1, $clue012 to 1, $clue013 to 1, $clue014 to 1, $clue015 to 1, $clue016 to 1, $clue017 to 1)
<!-- 警长遗物 (018-019) -->
(set: $clue018 to 1, $clue019 to 1)
<!-- 旧案卷宗 (020-021) -->
(set: $clue020 to 1, $clue021 to 1)
<!-- 推理档案 (022-029) -->
(set: $clue022 to 1, $clue023 to 1, $clue024 to 1, $clue025 to 1, $clue026 to 1, $clue027 to 1, $clue028 to 1, $clue029 to 1)
(goto:"提交指控")
]
</div><script>
// 创建两个全局音乐播放器(只创建一次)
if (!document.getElementById('bgm_188')) {
// 音乐1:18861466(Promise Reprise)
var audio1 = document.createElement('audio');
audio1.id = 'bgm_188';
audio1.src = 'https://music.163.com/song/media/outer/url?id=18861466';
audio1.loop = true;
audio1.volume = 0.75;
document.body.appendChild(audio1);
// 音乐2:1355487523
var audio2 = document.createElement('audio');
audio2.id = 'bgm_135';
audio2.src = 'https://music.163.com/song/media/outer/url?id=1355487523';
audio2.loop = true;
audio2.volume = 0.5;
document.body.appendChild(audio2);
// 同时播放两首
audio1.play().catch(function() {
document.addEventListener('click', function playOnce() {
audio1.play();
audio2.play();
document.removeEventListener('click', playOnce);
}, { once: true });
});
audio2.play();
// 记录当前状态
window.bgmState = 'start';
}
// ====== 音乐切换函数 ======
window.switchToBGM = function(targetId, targetVolume, fadeOutTime, fadeInTime) {
var allAudio = [bgm_188, bgm_135, bgm_good_ending, bgm_good_final, bgm_bad_ending];
var target = document.getElementById(targetId);
if (!target) return;
// 淡出所有其他音乐
allAudio.forEach(function(audio) {
if (audio && audio.id !== targetId && !audio.paused) {
var fadeOut = setInterval(function() {
if (audio.volume > 0.02) {
audio.volume = Math.max(0, audio.volume - 0.03);
} else {
audio.volume = 0;
audio.pause();
clearInterval(fadeOut);
}
}, 100);
}
});
// 如果目标音乐正在播放且音量合适,不重复操作
if (!target.paused && target.volume >= targetVolume - 0.05) return;
// 淡入目标音乐
target.volume = 0;
target.play().catch(function(){});
var fadeIn = setInterval(function() {
if (target.volume < targetVolume - 0.02) {
target.volume = Math.min(targetVolume, target.volume + 0.03);
} else {
target.volume = targetVolume;
clearInterval(fadeIn);
}
}, 100);
};
</script>
<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap');
.game-wrapper {
max-width: 600px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
box-shadow: 0 4px 60px rgba(0, 0, 0, 0.15);
}
.game-wrapper::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.game-title {
text-align: center;
font-size: 2.8em;
font-weight: bold;
letter-spacing: 6px;
margin-top: 0.3em;
margin-bottom: 0.1em;
color: #c9a96e;
text-shadow: 0 0 30px rgba(201, 169, 110, 0.12);
}
.game-subtitle {
text-align: center;
font-size: 0.75em;
letter-spacing: 8px;
color: #667788;
margin-bottom: 1.8em;
border-bottom: 1px solid rgba(255,255,255,0.04);
padding-bottom: 1em;
font-weight: 300;
}
.game-opening {
text-align: center;
max-width: 500px;
margin: 0 auto;
line-height: 1.9;
font-size: 0.9em;
font-weight: 300;
}
.game-opening .case-number {
font-size: 0.7em;
letter-spacing: 5px;
color: #445566;
margin-bottom: 1.8em;
}
.game-opening .text-muted {
color: #667788;
}
.game-opening .text-body {
color: #8899aa;
}
.game-opening .text-highlight {
color: #c9a96e;
}
.game-opening .text-gold {
color: #c9a96e;
font-style: italic;
font-size: 0.95em;
}
.game-opening .divider {
color: #445566;
margin: 1.6em 0;
letter-spacing: 8px;
font-size: 0.7em;
}
.game-opening .start-link {
display: inline-block;
margin-top: 0.8em;
padding: 0.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.2);
border-radius: 2px;
letter-spacing: 5px;
font-size: 0.8em;
color: #667788;
text-decoration: none;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.01);
}
.game-opening .start-link:hover {
background: rgba(201, 169, 110, 0.06);
border-color: rgba(201, 169, 110, 0.5);
color: #c9a96e;
}
.game-opening .start-link tw-link {
color: #667788 !important;
}
.game-opening .start-link:hover tw-link {
color: #c9a96e !important;
}
</style>
(css: "text-align: center; max-width: 600px; margin: 0 auto;")[
<div class="game-wrapper">
<div class="game-title">今天不易破案</div>
<div class="game-subtitle">— 银丘酒庄 · 一九九八 —</div>
<div class="game-opening">
<!-- ====== 音乐唤醒按钮(仅桌面端) ====== -->
<div id="music-control" style="display: none; text-align: center; margin: 0.8em 0 1.2em 0;">
<tw-link style="
display: inline-block;
padding: 0.3em 2em;
border: 1px solid rgba(201, 169, 110, 0.08);
border-radius: 4px;
font-size: 0.8em;
letter-spacing: 3px;
color: #667788;
background: rgba(201, 169, 110, 0.02);
transition: all 0.3s ease;
"
id="musicToggleBtn"
onmouseover="this.style.borderColor='rgba(201,169,110,0.3)'; this.style.color='#c9a96e';"
onmouseout="this.style.borderColor='rgba(201,169,110,0.08)'; this.style.color='#667788';">
<span id="musicIcon">♩</span> 点击播放音乐
</tw-link>
<div style="font-size:0.5em;color:#445566;letter-spacing:1px;margin-top:0.2em;opacity:0.5;">
Chrome / Edge 浏览器需点击激活
</div>
</div>
<script>
(function() {
function isMobile() {
return /Android|iPhone|iPad|iPod|BlackBerry|Opera Mini|Mobile/i.test(navigator.userAgent)
|| window.innerWidth < 768;
}
if (isMobile()) {
var el = document.getElementById('music-control');
if (el) el.style.display = 'none';
return;
}
function hideButton() {
var el = document.getElementById('music-control');
if (el) el.style.display = 'none';
}
function musicIsPlaying() {
var a1 = document.getElementById('bgm_188');
var a2 = document.getElementById('bgm_135');
return (a1 && !a1.paused) || (a2 && !a2.paused);
}
// 延迟检测
setTimeout(function() {
if (!musicIsPlaying()) {
var el = document.getElementById('music-control');
if (el) el.style.display = 'block';
}
}, 800);
// 点击播放
document.getElementById('musicToggleBtn')?.addEventListener('click', function(e) {
e.stopPropagation();
var a1 = document.getElementById('bgm_188');
var a2 = document.getElementById('bgm_135');
if (a1) a1.play().catch(function(){});
if (a2) a2.play().catch(function(){});
// 更新按钮状态
var icon = document.getElementById('musicIcon');
if (icon) icon.textContent = '♪';
this.textContent = ' 播放中...';
this.style.opacity = '0.5';
setTimeout(hideButton, 600);
});
// 用户点击页面任意位置后,如果音乐播放了就隐藏
document.addEventListener('click', function checkAndHide() {
if (musicIsPlaying()) {
hideButton();
document.removeEventListener('click', checkAndHide);
}
});
})();
</script>
<div class="case-number">╱ 案件编号:98-1026 ╲</div>
<div class="text-muted">苏塞克斯的雨从月初开始下,一直没有停过</div>
<br>
<div class="text-body">你合上登记簿,目光落在窗外——</div>
<div class="text-body">路灯在雨幕里晕成一团暖黄色,</div>
<div class="text-body">院子里那辆黑色公务车的引擎盖已经凉透了</div>
<br>
<div class="text-highlight">有些案子,在归档之前就已注定要被记住</div>
<div class="text-highlight">有些真相,在被人看见之前就在等待被翻开</div>
<br>
<div class="text-muted">雨还在下......</div>
<br>
<div class="text-body">你翻开卷宗,在抬头栏里写下——</div>
<br>
<div class="text-gold">「侦缉警员:天宇·托比」</div>
<div class="divider">· · ·</div>
<div class="start-link">(link:"记忆重现 →")[(goto:"案件前传_1")]</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.archive-container {
max-width: 680px;
margin: 0 auto;
padding: 2em 2em 1.8em 2em;
border: 1px solid rgba(201, 169, 110, 0.10);
background: linear-gradient(170deg, rgba(0,0,0,0.12) 0%, rgba(201, 169, 110, 0.02) 100%);
border-radius: 8px;
position: relative;
box-shadow: inset 0 0 60px rgba(201, 169, 110, 0.02);
}
.archive-container::before {
content: " ";
position: absolute;
top: -1px;
left: 20%;
right: 20%;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(201, 169, 110, 0.15), transparent);
}
.archive-container::after {
content: " ";
position: absolute;
bottom: -1px;
left: 30%;
right: 30%;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(201, 169, 110, 0.08), transparent);
}
.archive-header {
text-align: center;
margin-bottom: 1.6em;
position: relative;
}
.archive-header .top-line {
font-family: 'JetBrains Mono', monospace;
font-size: 0.55em;
letter-spacing: 6px;
color: #445566;
margin-bottom: 0.2em;
}
.archive-header .main-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 12px;
color: #c9a96e;
}
.archive-header .main-title .divider {
color: #445566;
margin: 0 0.4em;
}
.archive-header .sub-title {
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 5px;
color: #445566;
font-weight: 300;
margin-top: 0.1em;
}
.archive-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.6em;
margin: 0.4em 0 1.2em 0;
}
.archive-card {
padding: 0.7em 0.6em;
text-align: center;
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
transition: all 0.3s ease;
position: relative;
}
.archive-card::after {
content: "";
position: absolute;
bottom: 0;
left: 30%;
right: 30%;
height: 1px;
background: rgba(201, 169, 110, 0.04);
transition: all 0.3s ease;
}
.archive-card:hover {
background: rgba(201, 169, 110, 0.04);
}
.archive-card:hover::after {
left: 15%;
right: 15%;
background: rgba(201, 169, 110, 0.12);
}
.archive-card .card-icon {
display: block;
font-size: 1.1em;
margin-bottom: 0.05em;
}
.archive-card .card-name {
display: block;
font-family: 'Inter', sans-serif;
font-size: 0.75em;
color: #aabbcc;
letter-spacing: 2px;
font-weight: 300;
}
.archive-card .card-meta {
display: block;
font-size: 0.55em;
color: #445566;
letter-spacing: 1px;
}
.archive-card .card-link {
display: inline-block;
font-size: 0.6em;
color: #667788;
letter-spacing: 2px;
margin-top: 0.1em;
padding: 0.1em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
transition: all 0.3s ease;
}
.archive-card .card-link:hover {
color: #c9a96e;
border-color: rgba(201, 169, 110, 0.15);
}
.archive-divider {
text-align: center;
color: #445566;
letter-spacing: 8px;
font-size: 0.6em;
margin: 0.6em 0 0.8em 0;
}
.archive-footer {
display: flex;
justify-content: center;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.archive-return {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.75em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.archive-return tw-link {
color: #667788 !important;
}
.archive-return:hover tw-link {
color: #c9a96e !important;
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="archive-container">
<div class="archive-header">
<div class="top-line">◈ ◈ ◈</div>
<div class="main-title">
<span class="divider">—</span> 线索档案室 <span class="divider">—</span>
</div>
<div class="sub-title">SUSSEX · 1998</div>
</div>
<div class="archive-grid">
<div class="archive-card">
<span class="card-icon">📂</span>
<span class="card-name">现场卷宗</span>
<span class="card-meta">17条</span>
<span class="card-link">(link:"查阅")[(goto:"档案_现场卷宗")]</span>
</div>
<div class="archive-card">
<span class="card-icon">🧥</span>
<span class="card-name">警长遗物</span>
<span class="card-meta">2条</span>
<span class="card-link">(link:"查阅")[(goto:"档案_警长遗物")]</span>
</div>
<div class="archive-card">
<span class="card-icon">📁</span>
<span class="card-name">旧案卷宗</span>
<span class="card-meta">2条</span>
<span class="card-link">(link:"查阅")[(goto:"档案_旧案卷宗")]</span>
</div>
<div class="archive-card">
<span class="card-icon">🧩</span>
<span class="card-name">推理档案</span>
<span class="card-meta">8条</span>
<span class="card-link">(link:"查阅")[(goto:"档案_推理档案")]</span>
</div>
<div class="archive-card">
<span class="card-icon">🏆</span>
<span class="card-name">成就笔录</span>
<span class="card-meta">6章</span>
<span class="card-link">(link:"翻阅")[(goto:"成就笔录")]</span>
</div>
</div>
<div class="archive-divider">· · ·</div>
<div class="archive-footer">
<span class="archive-return">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]
<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.final-container {
max-width: 720px;
margin: 0 auto;
padding: 2.8em 3em;
border: 1px solid rgba(201, 169, 110, 0.15);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.8s ease;
}
.final-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.final-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.final-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #e8d5a0;
}
.final-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #667788;
font-weight: 300;
margin-left: 0.6em;
}
.final-badge {
display: inline-block;
margin-top: 0.6em;
padding: 0.2em 1.4em;
border: 1px solid rgba(201, 169, 110, 0.08);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #c9a96e;
font-weight: 300;
}
.final-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2.1;
color: #ccd4dc;
}
.final-body .highlight {
color: #c9a96e;
}
.final-body .gold {
color: #e8d5a0;
}
.final-body .dim {
color: #445566;
}
.final-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1.1em;
color: #8899aa;
letter-spacing: 3px;
margin: 1.2em 0 0.4em 0;
padding-top: 0.4em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.final-body .section-head:first-of-type {
border-top: none;
margin-top: 0;
padding-top: 0;
}
.final-body .verdict-box {
padding: 0.6em 1.2em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.02);
border-radius: 0 3px 3px 0;
}
.final-body .verdict-box .name {
color: #e8d5a0;
font-weight: 400;
}
.final-body .verdict-box .sentence {
color: #aabbcc;
}
.final-body .verdict-box .sentence .severe {
color: #c96e6e;
}
.final-body .verdict-box .sentence .lenient {
color: #8899aa;
}
.final-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.final-body .btn-group {
display: flex;
justify-content: center;
gap: 2em;
margin-top: 1.2em;
}
.final-body .btn-action {
display: inline-block;
padding: 0.4em 2em;
border: 1px solid rgba(201, 169, 110, 0.12);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.final-body .btn-action:hover {
border-color: rgba(201, 169, 110, 0.25);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.final-body .btn-action tw-link {
color: #667788 !important;
}
.final-body .btn-action:hover tw-link {
color: #c9a96e !important;
}
.final-body .btn-action .gold {
color: #c9a96e;
}
.final-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.final-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.6em;
font-weight: 300;
letter-spacing: 4px;
transition: all 0.3s ease;
}
.final-back tw-link {
color: #445566 !important;
}
.final-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(24px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="final-container">
<div class="final-header">
<div class="final-title">
╲ 正义归位 ╱
<span class="final-title-eng">— JUSTICE</span>
</div>
<div class="final-badge">✦ 完美通关 · 真相大白 ✦</div>
</div>
<div class="final-body">
<span style="color: #ccd4dc; font-size: 0.95em; display: block; text-align: center; margin-bottom: 0.6em; letter-spacing: 2px;">
依托全套五条关键卷宗,我完整梳理出杀人凶案与横跨数年的黑色利益产业链全貌,真相彻底闭环:
</span>
<div style="font-size: 0.85em; color: #667788; text-align: center; letter-spacing: 1px; margin-bottom: 0.8em;">
你将杀人案完整卷宗,连同警署内部腐败、跨企业商业贿赂两套完整证据一并递交总局。
</div>
<div class="divider-dash">· · ·</div>
<div class="section-head">▼ 审判结果</div>
<div class="verdict-box">
<span class="name">莱昂·吕</span>
<span class="sentence">—— 故意伤人、伪造现场、渎职包庇、收受贿赂<br><span class="severe">数罪并罚,重刑入狱</span></span>
</div>
<div class="verdict-box">
<span class="name">马库斯·土豆</span>
<span class="sentence">—— 故意投毒杀人、商业欺诈、行贿<br><span class="severe">定罪</span></span>
</div>
<div class="verdict-box">
<span class="name">威尔</span>
<span class="sentence">—— 受胁迫参与投毒,故意杀人罪成立<br><span class="lenient">鉴于其受胁迫情节且主动供述,从轻判处</span></span>
</div>
<div class="verdict-box">
<span class="name">朵蒂·李、嘉诚·菲茨威廉</span>
<span class="sentence">—— 参与财务舞弊、利益输送<br><span class="severe">同步追责</span></span>
</div>
<div class="section-head">▼ 旧案重启</div>
<span style="color: #ccd4dc; font-size: 0.88em;">
往年所有被莱昂·吕压下的旧案全部重启全面复查。
</span>
<div class="section-head">▼ 任命</div>
<span style="color: #ccd4dc; font-size: 0.88em;">
上级高度认可你深挖案件背后完整黑幕、连根拔除腐败链条的办案能力,正式下达调令,提拔你接任蒋易空出的<span class="gold">侦缉警长</span>职位。
</span>
<div class="divider-dash">· · ·</div>
<div style="text-align: center; font-family: 'Cormorant Garamond', serif; font-size: 1.2em; color: #e8d5a0; letter-spacing: 6px; margin: 0.8em 0;">
蒋易未能完成的调查、没能揭开的全部真相,<br>由你彻底公之于众。
</div>
<div style="text-align: center; font-family: 'Inter', sans-serif; font-size: 0.5em; color: #445566; letter-spacing: 6px; margin: 0.6em 0;">
【终极完美通关】
</div>
<div class="divider-dash">· · ·</div>
<div class="btn-group">
(if: $clue019 is 1)[
<span class="btn-action">(link:"◈ 迟到的贺礼")[(goto:"彩蛋")]</span>
]
<span class="btn-action">(link:"◈ 案件终结")[(goto:"最终画面")]</span>
</div>
</div>
<div class="final-footer">
<span class="final-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.case-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeUp 0.6s ease;
}
.case-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.case-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.case-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.case-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.case-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.case-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.case-body .highlight {
color: #c9a96e;
}
.case-body .dim {
color: #445566;
}
.case-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.case-body .case-detail {
padding: 0.3em 0.8em;
border-left: 2px solid rgba(201, 169, 110, 0.04);
margin: 0.3em 0;
}
.case-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1em;
color: #8899aa;
letter-spacing: 2px;
margin-top: 0.8em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
padding-bottom: 0.2em;
}
.case-body .evidence-item {
padding: 0.2em 0.8em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
}
.case-body .evidence-item .label {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.case-body .evidence-item .value {
color: #aabbcc;
}
.case-body .evidence-item .value .gold {
color: #c9a96e;
}
.case-body .evidence-item .value .blurred {
color: #445566;
font-family: 'JetBrains Mono', monospace;
font-size: 0.85em;
letter-spacing: 1px;
opacity: 0.5;
filter: blur(2px);
}
.case-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.case-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.case-back tw-link {
color: #667788 !important;
}
.case-back:hover tw-link {
color: #c9a96e !important;
}
.case-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.case-nav tw-link {
color: #667788 !important;
}
.case-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="case-container">
<div class="case-header">
<span class="case-title">
╲ 中毒案卷宗 ╱
<span class="case-title-eng">— CASE 97-08</span>
</span>
<span class="case-badge">封存 · 已结案</span>
</div>
<div class="case-body">
<span class="field">案件编号:</span>SG-97-0823<br>
<span class="field">案件名称:</span>佩金丝酒馆集体中毒案<br>
<span class="field">发生时间:</span>1997年8月23日 20:00 — 21:30<br>
<span class="field">发生地点:</span>苏塞克斯 · 佩金丝酒馆<br>
<span class="field">受理单位:</span>苏塞克斯乡镇警署
<div style="margin: 0.8em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<div class="section-head">▼ 案件概述</div>
1997年8月23日晚,佩金丝酒馆共计<span class="highlight">十七人</span>用餐后出现呕吐、抽搐、意识模糊等症状。全部送医治疗,无死亡病例,但其中三人住院一周以上。
<div class="section-head">▼ 初步调查</div>
<div class="evidence-item">
<span class="label">现场提取:</span>
<span class="value">酒馆厨房内剩余半瓶未开封酒水,已封存送检。</span>
</div>
<div class="evidence-item">
<span class="label">初步推断:</span>
<span class="value">中毒源疑似酒水掺入人工合成镇静类药物。</span>
</div>
<div class="section-head">▼ 关键证据</div>
<div class="evidence-item">
<span class="label">样本状态:</span>
<span class="value"><span class="gold">送检途中丢失</span></span>
</div>
<div class="evidence-item">
<span class="label">丢失情况:</span>
<span class="value">负责押送的警员称"车辆后备箱被撬,样本失窃"</span>
</div>
<div class="evidence-item">
<span class="label">后续处置:</span>
<span class="value"><span class="gold">该警员被停职处分</span>,三周后调离苏塞克斯。</span>
</div>
<div class="section-head">▼ 结案信息</div>
<div class="evidence-item">
<span class="label">结案时间:</span>
<span class="value">1997年9月18日</span>
</div>
<div class="evidence-item">
<span class="label">结案理由:</span>
<span class="value"><span class="gold">证据不足 · 无法追责</span></span>
</div>
<div class="evidence-item">
<span class="label">结案签字:</span>
<span class="value"><span class="blurred">(签字模糊,无法辨认)</span></span>
</div>
</div>
<div class="case-footer">
<span class="case-back">(link:"[返回证物室]")[(goto:"勘查_证物室")]</span>
<span class="case-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.case-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeUp 0.6s ease;
}
.case-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.case-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.case-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.case-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.case-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.case-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.case-body .highlight {
color: #c9a96e;
}
.case-body .dim {
color: #445566;
}
.case-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.case-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1em;
color: #8899aa;
letter-spacing: 2px;
margin-top: 0.8em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
padding-bottom: 0.2em;
}
.case-body .evidence-item {
padding: 0.2em 0.8em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
}
.case-body .evidence-item .label {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.case-body .evidence-item .value {
color: #aabbcc;
}
.case-body .evidence-item .value .gold {
color: #c9a96e;
}
.case-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.case-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.case-back tw-link {
color: #667788 !important;
}
.case-back:hover tw-link {
color: #c9a96e !important;
}
.case-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.case-nav tw-link {
color: #667788 !important;
}
.case-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="case-container">
<div class="case-header">
<span class="case-title">
╲ 园丁案卷宗 ╱
<span class="case-title-eng">— CASE 98-01</span>
</span>
<span class="case-badge">封存 · 已结案</span>
</div>
<div class="case-body">
<span class="field">案件编号:</span>SG-98-0117<br>
<span class="field">案件名称:</span>银丘酒庄 · 老园丁遇害案<br>
<span class="field">发生时间:</span>1998年1月17日 夜间<br>
<span class="field">发生地点:</span>银丘酒庄 · 园丁工具棚<br>
<span class="field">受理单位:</span>苏塞克斯乡镇警署
<div style="margin: 0.8em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<div class="section-head">▼ 案件概述</div>
老园丁被发现死于工具棚内,现场勘查显示<span class="highlight">头部有钝器伤</span>,但致命原因为<span class="highlight">过量胰岛素注射</span>。老园丁本人无糖尿病史。
<div class="section-head">▼ 现场物证</div>
<div class="evidence-item">
<span class="label">钝器伤:</span>
<span class="value">头部左后侧,皮下出血明显</span>
</div>
<div class="evidence-item">
<span class="label">注射痕迹:</span>
<span class="value">右上臂外侧,针孔周围无红肿感染</span>
</div>
<div class="evidence-item">
<span class="label">失窃物品:</span>
<span class="value"><span class="gold">账本 + 酒窖备用钥匙</span>(同时失踪)</span>
</div>
<div class="evidence-item">
<span class="label">入侵痕迹:</span>
<span class="value">未发现强行入侵迹象</span>
</div>
<div class="section-head">▼ 结案信息</div>
<div class="evidence-item">
<span class="label">结案时间:</span>
<span class="value">1998年2月4日</span>
</div>
<div class="evidence-item">
<span class="label">结案理由:</span>
<span class="value"><span class="gold">判定自杀</span></span>
</div>
<div class="evidence-item">
<span class="label">结案意见摘要:</span>
<span class="value">"现场未发现第三方痕迹。死者生前情绪低落,推测自行注射后失足跌倒。结案。"</span>
</div>
<div class="evidence-item">
<span class="label">结案签字:</span>
<span class="value"><span class="blurred">(似被人有意损毁,无法辨认)</span></span>
</div>
</div>
<div class="case-footer">
<span class="case-back">(link:"[返回证物室]")[(goto:"勘查_证物室")]</span>
<span class="case-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.case-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeUp 0.6s ease;
}
.case-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.case-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.case-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.case-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.case-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.case-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.case-body .highlight {
color: #c9a96e;
}
.case-body .dim {
color: #445566;
}
.case-body .field {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.case-body .section-head {
font-family: 'Cormorant Garamond', serif;
font-size: 1em;
color: #8899aa;
letter-spacing: 2px;
margin-top: 0.8em;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
padding-bottom: 0.2em;
}
.case-body .evidence-item {
padding: 0.2em 0.8em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
}
.case-body .evidence-item .label {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
}
.case-body .evidence-item .value {
color: #aabbcc;
}
.case-body .evidence-item .value .gold {
color: #c9a96e;
}
.case-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.case-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.case-back tw-link {
color: #667788 !important;
}
.case-back:hover tw-link {
color: #c9a96e !important;
}
.case-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.case-nav tw-link {
color: #667788 !important;
}
.case-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="case-container">
<div class="case-header">
<span class="case-title">
╲ 纵火案卷宗 ╱
<span class="case-title-eng">— CASE 98-05</span>
</span>
<span class="case-badge">封存 · 已结案</span>
</div>
<div class="case-body">
<span class="field">案件编号:</span>SG-98-0512<br>
<span class="field">案件名称:</span>警署档案室纵火案<br>
<span class="field">发生时间:</span>1998年5月12日 深夜<br>
<span class="field">发生地点:</span>苏塞克斯乡镇警署 · 档案室<br>
<span class="field">受理单位:</span>苏塞克斯乡镇警署(内部调查)
<div style="margin: 0.8em 0; border-top: 1px solid rgba(201, 169, 110, 0.04);"></div>
<div class="section-head">▼ 案件概述</div>
1998年5月12日凌晨,警署档案室发生火灾。起火点位于<span class="highlight">存放旧案卷的金属文件柜内部</span>。超过<span class="highlight">80%</span>的案卷被烧毁,其中大部分与银丘酒庄或马库斯集团存在直接关联。
<div class="section-head">▼ 现场调查</div>
<div class="evidence-item">
<span class="label">起火点:</span>
<span class="value">金属文件柜内部</span>
</div>
<div class="evidence-item">
<span class="label">柜内设备:</span>
<span class="value">仅有一盏照明灯</span>
</div>
<div class="evidence-item">
<span class="label">灯具检修记录:</span>
<span class="value">起火前一周刚完成检修,状态正常</span>
</div>
<div class="evidence-item">
<span class="label">初步判定:</span>
<span class="value"><span class="gold">"电线老化短路"</span> —— 与检修记录矛盾</span>
</div>
<div class="section-head">▼ 损失情况</div>
<div class="evidence-item">
<span class="label">被毁案卷:</span>
<span class="value">共计<span class="gold">47份</span>旧案卷</span>
</div>
<div class="evidence-item">
<span class="label">关联性:</span>
<span class="value">其中<span class="gold">38份</span>与银丘酒庄或马库斯集团相关</span>
</div>
<div class="section-head">▼ 结案信息</div>
<div class="evidence-item">
<span class="label">结案时间:</span>
<span class="value">1998年5月30日</span>
</div>
<div class="evidence-item">
<span class="label">结案理由:</span>
<span class="value"><span class="gold">原因不明 · 无进一步调查</span></span>
</div>
<div class="evidence-item">
<span class="label">结案签字:</span>
<span class="value"><span class="blurred">L./*/(签字模糊,无法辨认)</span></span>
</div>
</div>
<div class="case-footer">
<span class="case-back">(link:"[返回证物室]")[(goto:"勘查_证物室")]</span>
<span class="case-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap');
.note-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeUp 0.6s ease;
}
.note-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.note-header {
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.note-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.note-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.note-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 2;
color: #ccd4dc;
}
.note-body .highlight {
color: #c9a96e;
}
.note-body .dim {
color: #445566;
}
.note-body .entry {
padding: 0.4em 0.8em;
margin: 0.3em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
font-size: 0.85em;
color: #aabbcc;
}
.note-body .entry .source {
color: #667788;
font-size: 0.75em;
letter-spacing: 1px;
}
.note-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.note-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.note-back tw-link {
color: #667788 !important;
}
.note-back:hover tw-link {
color: #c9a96e !important;
}
.note-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.note-nav tw-link {
color: #667788 !important;
}
.note-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="note-container">
<div class="note-header">
<span class="note-title">
╲ 街坊传闻笔记 ╱
<span class="note-title-eng">— THE KING‘S ARMS</span>
</span>
</div>
<div class="note-body">
店主把一本旧笔记本推到吧台上,纸页泛黄,边角卷起。他翻到折角的那几页。
<div class="entry">
"莱昂·吕的车经常停在酒庄后门,有时朵蒂·李也在车里。"
<div class="source">—— 酒馆常客 · 1997年秋</div>
</div>
<div class="entry">
"嘉诚·菲茨威廉每隔两三个月就来酒馆,每次都坐在同一个角落,等人。来的人有时候是朵蒂,有时候是莱昂·吕。"
<div class="source">—— 酒馆老板娘 · 1998年春</div>
</div>
<div class="entry">
"去年档案室着火那天,有人看见莱昂·吕的公务车在警署附近出现过。"
<div class="source">—— 匿名消息 · 1998年5月</div>
</div>
<div class="entry">
<span class="highlight">"那几个人之间有一条线,从银丘酒庄一直拉到警署里。"</span>
<div class="source">—— 店主本人 · 1998年9月</div>
</div>
</div>
<div class="note-footer">
<span class="note-back">(link:"[返回酒馆]")[(goto:"勘查_酒馆")]</span>
<span class="note-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .quote {
font-style: italic;
color: #667788;
border-left: 2px solid rgba(201, 169, 110, 0.04);
padding-left: 1.2em;
margin: 0.6em 0;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .action-box .remaining {
font-size: 0.75em;
color: #445566;
letter-spacing: 2px;
}
.fail-body .action-box .remaining .num {
color: #c9a96e;
font-weight: 400;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-retry {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-retry:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-retry tw-link {
color: #667788 !important;
}
.fail-body .btn-retry:hover tw-link {
color: #c9a96e !important;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 指控被驳回 ╱
<span class="fail-title-eng">— REJECTED</span>
</div>
<div class="fail-badge">第1次失败</div>
</div>
<div class="fail-body">
你提交了指控。
检方翻阅了你提交的每一份档案,逐一核对证据链。会议室里坐了六个人,有人皱眉,有人摇头,最终是莱昂·吕合上了卷宗封面。
<div class="quote">
"证据链残缺不全,"他说,"本案退回,重新调查。"
</div>
你没有说话。
因为你清楚地知道,一旦案子回到苏塞克斯警署,所谓的"重新调查"意味着什么——那些档案会被重新锁进铁皮柜,钥匙会换一把新的,证人会被调走,而所有指向银丘酒庄的线索会像之前三次一样,在某个深夜被"意外"烧毁。
走出检方大楼的时候,天已经黑了。你站在路灯下,翻出手机,犹豫了很久还是没有拨出那个电话。
你回到警署,坐在蒋易曾经坐过的位置上,拉开抽屉,里面是一叠空白的指控书表格。你拿起一张,盯着它看了很久。
你知道自己漏掉了什么。但你还不确定漏掉的是什么。
你把表格折好,放进口袋。
明天再试一次。
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div class="remaining">
<span class="num">4</span> 次机会剩余
</div>
<div style="margin-top: 0.6em;">
<span class="btn-retry">(link:"◈ 重新提交指控")[(goto:"提交指控")]</span>
</div>
</div>
</div>
<div class="fail-footer">
<span class="fail-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #445566;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .dialogue {
color: #c9a96e;
font-style: italic;
}
.fail-body .dialogue-speaker {
color: #8899aa;
font-style: normal;
font-size: 0.85em;
letter-spacing: 1px;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .internal {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.fail-body .quote {
border-left: 2px solid rgba(201, 169, 110, 0.04);
padding-left: 1.2em;
margin: 0.6em 0;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .action-box .remaining {
font-size: 0.75em;
color: #445566;
letter-spacing: 2px;
}
.fail-body .action-box .remaining .num {
color: #c9a96e;
font-weight: 400;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-continue {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-continue:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-continue tw-link {
color: #667788 !important;
}
.fail-body .btn-continue:hover tw-link {
color: #c9a96e !important;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 终结 ╱
<span class="fail-title-eng">— THE END</span>
</div>
<div class="fail-badge">最后一次</div>
</div>
<div class="fail-body">
<span class="narrative">最后一次。</span>
<span class="narrative">你提交了第五版指控。</span>
<span class="narrative">这一次,连你自己都知道,你已经没有更多东西可以补上了。你翻遍了所有档案,走过了所有现场,打完了所有能打的电话。你甚至连蒋易的那封信都读了一遍又一遍,想在那些字里行间找到什么你漏掉的东西。</span>
<span class="narrative">检方会议室里只剩三个人。莱昂·吕坐在中间,你坐在对面。</span>
<div class="quote">
<span class="dialogue-speaker">莱昂·吕:</span><span class="dialogue">"天宇,没有更多了。"</span>
</div>
<span class="narrative">你没有说话。因为你知道他说得对。</span>
<div class="quote">
<span class="dialogue-speaker">莱昂·吕:</span><span class="dialogue">"这个案子,到此为止。"</span>
</div>
<span class="narrative">你站起来,拿起那叠卷宗。纸面已经微微起毛了,边角被翻得卷了起来。你翻阅了太多次。</span>
<span class="narrative">你走下楼,站在警署门口,雨已经停了。地面上有一层薄薄的积水,倒映着路灯的光。</span>
<span class="narrative">你站在那里,想了很久。</span>
<span class="narrative">然后你拎着那沓卷宗,转身走进夜色里。</span>
<div class="divider-dash">· · ·</div>
<span class="narrative">三个月后,你接到调令,前往北方一个偏远乡镇警署,名义上是"异地任职",实质是调离苏塞克斯。</span>
<span class="narrative">临走的前一天晚上,你坐在办公室里收拾东西,拿起一摞摞卷宗,整理好,放进箱底。</span>
<span class="internal">你不知道苏塞克斯还在发生什么。</span>
<span class="internal">但你隐约觉得,有些事,这辈子都不会有人再追究了。</span>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-continue">(link:"◈ 继续")[
(if: $clue019 is 1)[(goto:"错误结局_彩蛋_坏")]
(if: $clue019 is 0)[(goto:"错误结局_2_无彩蛋")]
]</span>
</div>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .dialogue {
color: #c9a96e;
font-style: italic;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .quote {
font-style: italic;
color: #667788;
border-left: 2px solid rgba(201, 169, 110, 0.04);
padding-left: 1.2em;
margin: 0.6em 0;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .action-box .remaining {
font-size: 0.75em;
color: #445566;
letter-spacing: 2px;
}
.fail-body .action-box .remaining .num {
color: #c9a96e;
font-weight: 400;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-retry {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-retry:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-retry tw-link {
color: #667788 !important;
}
.fail-body .btn-retry:hover tw-link {
color: #c9a96e !important;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 指控被驳回 ╱
<span class="fail-title-eng">— REJECTED</span>
</div>
<div class="fail-badge">第2次失败</div>
</div>
<div class="fail-body">
<span class="narrative">第二次。</span>
<span class="narrative">你重新整理了证据链,把遗漏的部分补上,再次提交。</span>
<span class="narrative">检方这次花了更长的时间审阅,会议室里争论了很久,但最终——</span>
<div class="quote">
<span class="dialogue">"部分证据仍存在关联性不足的问题,"</span> 莱昂·吕说,<span class="dialogue">"建议补充调查。"</span>
</div>
<span class="narrative">你没忍住,拍了一下桌子。</span>
<div class="quote">
<span class="dialogue">"还要补充什么?这些证据已经足够指认他们了——"</span>
</div>
<div class="quote">
<span class="dialogue">"程序正义比结果正义更重要,天宇。"</span> 莱昂·吕看着你,眼神平静,语气温和。
</div>
<span class="narrative">你知道他在说谎。你也知道他知道你知道。</span>
<span class="narrative">你走出检方大楼的时候,起风了。</span>
<span class="narrative">你站在路边,把那叠退回的卷宗翻了一遍又一遍。你找不到那个漏洞。但你隐约感觉到,你确实漏掉了什么。</span>
<span class="narrative">你回到住处,把蒋易的笔记本翻了出来,一页一页看过去,直到凌晨三点。</span>
<span class="narrative">外面起风了,窗户发出轻微的震动声。</span>
<span class="narrative">你在那些旧纸页里,忽然觉得有些东西就在眼前,但你还没有看见它。</span>
<span class="narrative">你合上笔记本,给自己倒了杯水。</span>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div class="remaining">
<span class="num">3</span> 次机会剩余
</div>
<div style="margin-top: 0.6em;">
<span class="btn-retry">(link:"◈ 重新提交指控")[(goto:"提交指控")]</span>
</div>
</div>
</div>
<div class="fail-footer">
<span class="fail-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<script>
if (!document.getElementById('bgm_bad_epilogue')) {
var audio = document.createElement('audio');
audio.id = 'bgm_bad_epilogue';
audio.src = 'https://music.163.com/song/media/outer/url?id=492999917';
audio.loop = true;
audio.volume = 0.35;
document.body.appendChild(audio);
}
var audio = document.getElementById('bgm_bad_epilogue');
if (audio) {
audio.currentTime = 0;
audio.play().catch(function(){});
audio.volume = 0.35;
}
</script>
<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .internal {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-continue {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-continue:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-continue tw-link {
color: #667788 !important;
}
.fail-body .btn-continue:hover tw-link {
color: #c9a96e !important;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .evidence-fragment {
padding: 0.8em 1.2em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
font-family: 'JetBrains Mono', monospace;
font-size: 0.75em;
color: #445566;
line-height: 1.8;
letter-spacing: 0.5px;
}
.fail-body .evidence-fragment .highlight-text {
color: #667788;
}
.fail-body .evidence-fragment .signature {
color: #c9a96e;
letter-spacing: 2px;
}
.fail-body .phone-entry {
padding: 0.2em 0.6em;
margin: 0.1em 0;
font-family: 'JetBrains Mono', monospace;
font-size: 0.78em;
color: #445566;
letter-spacing: 0.5px;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
}
.fail-body .phone-entry .name {
color: #667788;
}
.fail-body .phone-entry .number {
color: #445566;
}
.fail-body .phone-entry .number .dead {
color: #3a4a5a;
text-decoration: line-through;
text-decoration-color: #445566;
}
.fail-body .phone-entry .status {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
}
.fail-body .phone-entry .status .gone {
color: #5a4a4a;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 北方 ╱
<span class="fail-title-eng">— NORTH</span>
</div>
<div class="fail-badge">结局 · 静默</div>
</div>
<div class="fail-body">
<span class="narrative">北方比你想的要冷。</span>
<span class="narrative">乡镇警署只有五个人,接手的案子大多是邻里纠纷、遗失狗只、醉酒闹事。你每天处理着这些琐碎的工作,在卷宗里写下一行行文字,然后下班,回到出租屋,泡一壶茶,坐在窗前看着外面的田野发呆。</span>
<span class="narrative">有天夜里,你收到了一个匿名包裹。</span>
<span class="narrative">里面是一封复印件。蒋易生前那份加密财务文件的一角——</span>
<div class="evidence-fragment">
<span style="color: #445566;">··· 第 17 页 ···</span><br>
<span style="color: #445566;">往来账户:</span><span style="color: #667788;">银丘酒庄 · 马库斯集团</span><br>
<span style="color: #445566;">资金流向:</span><span style="color: #667788;">£203,400.00(税务调整款)</span><br>
<span style="color: #445566;">签字栏:</span><span class="signature">—— [签字] ——</span><br>
<span style="color: #445566;">备注:</span><span style="color: #445566;">(以下内容缺失)</span>
</div>
<span class="narrative">有人在你离开后,从莱昂·吕的档案柜里偷了一份出来,但只是一角。</span>
<span class="narrative">你看着那张纸上的数字和签名,忽然觉得喉咙发紧。</span>
<span class="narrative">你翻出电话本,想联系过去的人——</span>
<div style="margin: 0.4em 0; padding: 0.4em 0.8em; border: 1px solid rgba(201, 169, 110, 0.03); border-radius: 2px; background: rgba(0,0,0,0.05);">
<div class="phone-entry">
<span class="name">蒋易 · 警署</span>
<span class="number"> <span class="dead">01444 837 219</span></span>
<span class="status"><span class="gone">— 已注销</span></span>
</div>
<div class="phone-entry">
<span class="name">楠森·王</span>
<span class="number"> <span class="dead">01444 872 443</span></span>
<span class="status"><span class="gone">— 号码不存在</span></span>
</div>
<div class="phone-entry">
<span class="name">苏塞克斯警署 · 总机</span>
<span class="number"> <span class="dead">01444 840 100</span></span>
<span class="status"><span class="gone">— 已转接至上级部门</span></span>
</div>
<div class="phone-entry" style="border-bottom: none;">
<span class="name">莫里斯旸 · 法医</span>
<span class="number"> <span class="dead">01444 836 577</span></span>
<span class="status"><span class="gone">— 无人接听</span></span>
</div>
</div>
<span class="narrative">通讯录里那些号码,已经全部变成了空号。</span>
<span class="narrative">你攥着那张纸,在窗前坐了一整夜。</span>
<span class="internal">你什么也没能做。</span>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-continue">(link:"◈ 继续")[(goto:"错误结局_5b2")]</span>
</div>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .dialogue {
color: #c9a96e;
font-style: italic;
}
.fail-body .dialogue-speaker {
color: #8899aa;
font-style: normal;
font-size: 0.85em;
letter-spacing: 1px;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .internal {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.fail-body .quote {
border-left: 2px solid rgba(201, 169, 110, 0.04);
padding-left: 1.2em;
margin: 0.6em 0;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .action-box .remaining {
font-size: 0.75em;
color: #445566;
letter-spacing: 2px;
}
.fail-body .action-box .remaining .num {
color: #c9a96e;
font-weight: 400;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-retry {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-retry:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-retry tw-link {
color: #667788 !important;
}
.fail-body .btn-retry:hover tw-link {
color: #c9a96e !important;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 指控被驳回 ╱
<span class="fail-title-eng">— REJECTED</span>
</div>
<div class="fail-badge">第3次失败</div>
</div>
<div class="fail-body">
<span class="narrative">第三次。</span>
<span class="narrative">你比前两次更加谨慎。你重新核对了每一个时间点、每一笔资金流水、每一个人的行程轨迹。你甚至回到银丘酒庄附近走了一趟,站在地下酒窖的门口,看着那扇铁门,站了很久。</span>
<span class="narrative">你提交了第三版指控。</span>
<span class="narrative">这一次,检方的态度变了。</span>
<span class="narrative">没有人皱眉,也没有人摇头。会议室里沉默了很久。莱昂·吕坐在长桌尽头,翻阅着你的卷宗,一页一页,翻得很慢。</span>
<span class="narrative">然后他抬起头来,看着你。</span>
<div class="quote">
<span class="dialogue-speaker">莱昂·吕:</span><span class="dialogue">"天宇,你有没有想过,有些案子,也许不是用来破的?"</span>
</div>
<span class="narrative">你看着他,忽然觉得这句话比任何证据都更让你清醒。</span>
<span class="narrative">你走出检方大楼的时候,没有回头。</span>
<span class="narrative">你回到办公室,把桌面上所有的卷宗摞在一起。你看着那摞纸,忽然觉得很累。</span>
<span class="internal">你甚至开始怀疑自己——是不是真的漏掉了什么?是不是真的不够严谨?</span>
<span class="narrative">你摇了摇头,把那沓卷宗重新摊开。</span>
<span class="narrative">你知道那些证据是对的。只是证据不够。</span>
<span class="narrative">你打开电脑,在搜索栏里输入了一个名字。</span>
<span class="internal">你觉得自己离真相越来越近,但也离什么东西越来越远。</span>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div class="remaining">
<span class="num">2</span> 次机会剩余
</div>
<div style="margin-top: 0.6em;">
<span class="btn-retry">(link:"◈ 重新提交指控")[(goto:"提交指控")]</span>
</div>
</div>
</div>
<div class="fail-footer">
<span class="fail-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .dialogue {
color: #c9a96e;
font-style: italic;
}
.fail-body .dialogue-speaker {
color: #8899aa;
font-style: normal;
font-size: 0.85em;
letter-spacing: 1px;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .internal {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.fail-body .quote {
border-left: 2px solid rgba(201, 169, 110, 0.04);
padding-left: 1.2em;
margin: 0.6em 0;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .action-box .remaining {
font-size: 0.75em;
color: #445566;
letter-spacing: 2px;
}
.fail-body .action-box .remaining .num {
color: #c9a96e;
font-weight: 400;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-retry {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-retry:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-retry tw-link {
color: #667788 !important;
}
.fail-body .btn-retry:hover tw-link {
color: #c9a96e !important;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 指控被驳回 ╱
<span class="fail-title-eng">— REJECTED</span>
</div>
<div class="fail-badge">第4次失败</div>
</div>
<div class="fail-body">
<span class="narrative">第四次。</span>
<span class="narrative">你已经记不清这是第几个不眠夜了。</span>
<span class="narrative">你提交了第四版指控。这一次,你连每一个标点符号都核对过了。你甚至找了外部专家做了第二遍鉴定。你站在检方会议室的门口,手里攥着卷宗,指甲在纸面上留下浅浅的压痕。</span>
<span class="narrative">这一次更快。</span>
<span class="narrative">莱昂·吕甚至没有翻开卷宗,只是放在桌面上,用手掌压住。</span>
<div class="quote">
<span class="dialogue-speaker">莱昂·吕:</span><span class="dialogue">"天宇,你已经做了你能做的所有事。"</span>
</div>
<span class="narrative">你站在那里,没有动。</span>
<div class="quote">
<span class="dialogue-speaker">莱昂·吕:</span><span class="dialogue">"有些案子就是这样的——"</span>
</div>
<div class="quote">
<span class="dialogue-speaker">你:</span><span class="dialogue">"我不接受。"</span>
</div>
<span class="narrative">会议室里安静了几秒钟。</span>
<span class="narrative">莱昂·吕没有回应。他只是把卷宗轻轻推回你面前,然后站起来,拍了拍你的肩膀。</span>
<div class="quote">
<span class="dialogue-speaker">莱昂·吕:</span><span class="dialogue">"明天再来吧。不急。"</span>
</div>
<span class="narrative">你拿起卷宗,转身走出门。</span>
<span class="internal">门在你身后关上的时候,你在想——如果蒋易还在,他会怎么做。</span>
<span class="narrative">你回到办公室,没有开灯,在黑暗中坐了很久。</span>
<span class="narrative">窗外下雨了。</span>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div class="remaining">
<span class="num">1</span> 次机会剩余
</div>
<div style="margin-top: 0.6em;">
<span class="btn-retry">(link:"◈ 最后一次机会")[(goto:"提交指控")]</span>
</div>
</div>
</div>
<div class="fail-footer">
<span class="fail-back">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .internal {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-continue {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-continue:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-continue tw-link {
color: #667788 !important;
}
.fail-body .btn-continue:hover tw-link {
color: #c9a96e !important;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .evidence-fragment {
padding: 0.8em 1.2em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 2px;
font-family: 'JetBrains Mono', monospace;
font-size: 0.75em;
color: #445566;
line-height: 1.8;
letter-spacing: 0.5px;
}
.fail-body .evidence-fragment .highlight-text {
color: #667788;
}
.fail-body .evidence-fragment .signature {
color: #c9a96e;
letter-spacing: 2px;
}
.fail-body .phone-entry {
padding: 0.2em 0.6em;
margin: 0.1em 0;
font-family: 'JetBrains Mono', monospace;
font-size: 0.78em;
color: #445566;
letter-spacing: 0.5px;
border-bottom: 1px solid rgba(201, 169, 110, 0.02);
}
.fail-body .phone-entry .name {
color: #667788;
}
.fail-body .phone-entry .number {
color: #445566;
}
.fail-body .phone-entry .number .dead {
color: #3a4a5a;
text-decoration: line-through;
text-decoration-color: #445566;
}
.fail-body .phone-entry .status {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
}
.fail-body .phone-entry .status .gone {
color: #5a4a4a;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 北方 ╱
<span class="fail-title-eng">— NORTH</span>
</div>
<div class="fail-badge">结局 · 静默</div>
</div>
<div class="fail-body">
<span class="narrative">北方比你想的要冷。</span>
<span class="narrative">乡镇警署只有七个人,接手的案子大多是邻里纠纷、遗失狗只、醉酒闹事。你每天处理着这些琐碎的工作,在卷宗里写下一行行文字,然后下班,回到出租屋,泡一壶茶,坐在窗前看着外面的田野发呆。</span>
<span class="narrative">有天夜里,你收到了一个匿名包裹。</span>
<span class="narrative">里面是一封复印件。蒋易生前那份加密财务文件的一角——</span>
<div class="evidence-fragment">
<span style="color: #445566;">··· 第 17 页 ···</span><br>
<span style="color: #445566;">往来账户:</span><span style="color: #667788;">银丘酒庄 · 马库斯集团</span><br>
<span style="color: #445566;">资金流向:</span><span style="color: #667788;">£203,400.00(税务调整款)</span><br>
<span style="color: #445566;">签字栏:</span><span class="signature">—— [签字] ——</span><br>
<span style="color: #445566;">备注:</span><span style="color: #445566;">(以下内容缺失)</span>
</div>
<span class="narrative">有人在你离开后,从莱昂·吕的档案柜里偷了一份出来,但只是一角。</span>
<span class="narrative">你看着那张纸上的数字和签名,忽然觉得喉咙发紧。</span>
<span class="narrative">你翻出电话本,想联系过去的人——</span>
<div style="margin: 0.4em 0; padding: 0.4em 0.8em; border: 1px solid rgba(201, 169, 110, 0.03); border-radius: 2px; background: rgba(0,0,0,0.05);">
<div class="phone-entry">
<span class="name">蒋易 · 警署</span>
<span class="number"> <span class="dead">01444 837 219</span></span>
<span class="status"><span class="gone">— 已注销</span></span>
</div>
<div class="phone-entry">
<span class="name">楠森·王</span>
<span class="number"> <span class="dead">01444 872 443</span></span>
<span class="status"><span class="gone">— 号码不存在</span></span>
</div>
<div class="phone-entry">
<span class="name">苏塞克斯警署 · 总机</span>
<span class="number"> <span class="dead">01444 840 100</span></span>
<span class="status"><span class="gone">— 已转接至上级部门</span></span>
</div>
<div class="phone-entry" style="border-bottom: none;">
<span class="name">莫里斯旸 · 法医</span>
<span class="number"> <span class="dead">01444 836 577</span></span>
<span class="status"><span class="gone">— 无人接听</span></span>
</div>
</div>
<span class="narrative">通讯录里那些号码,已经全部变成了空号。</span>
<span class="narrative">你攥着那张纸,在窗前坐了一整夜。</span>
<span class="internal">你什么也没能做。</span>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-continue">(link:"◈ 继续")[(goto:"错误结局_5a3")]</span>
</div>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .internal {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.fail-body .dialogue-memory {
color: #c9a96e;
font-style: italic;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-continue {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-continue:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-continue tw-link {
color: #667788 !important;
}
.fail-body .btn-continue:hover tw-link {
color: #c9a96e !important;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .news-item {
padding: 0.4em 0.8em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
font-size: 0.85em;
color: #667788;
line-height: 1.8;
}
.fail-body .news-item .title {
color: #aabbcc;
}
.fail-body .news-item .date {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
}
.fail-body .news-item .detail {
color: #667788;
}
.fail-body .news-item .detail .gold {
color: #c9a96e;
}
.fail-body .news-item .detail .red {
color: #8a6e6e;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 回声 ╱
<span class="fail-title-eng">— ECHO</span>
</div>
<div class="fail-badge">结局 · 余响</div>
</div>
<div class="fail-body">
<span class="narrative">半年后。</span>
<span class="narrative">你在午休时间翻看手机新闻,一则推送跃入眼帘——</span>
<div class="news-item">
<span class="date">1999.04.12</span>
<div class="title">苏塞克斯再度发生酒馆集体中毒案</div>
<div class="detail"><span class="red">三人死亡</span>,<span class="gold">十二人送医</span>,调查组已进驻</div>
</div>
<span class="narrative">你盯着屏幕,手指停在那个标题上,停了很久。</span>
<div class="news-item" style="border-left-color: rgba(201, 169, 110, 0.08);">
<span style="color: #445566; font-size: 0.7em; letter-spacing: 1px;">佩金丝酒馆......</span>
<div style="color: #667788; font-size: 0.85em;">又是佩金丝酒馆。</div>
</div>
<span class="narrative">你想起了一年前的冬天,蒋易坐在你对面的办公桌前,把一沓流水单据推到你面前,说:</span>
<span class="dialogue-memory">"这些账,有问题。"</span>
<span class="narrative">你觉得喉咙里堵着什么。</span>
<span class="narrative">你翻出那张复印件,再一次看着上面的字迹,然后慢慢地把纸折好,放回信封,塞进了书桌最深处的抽屉里。</span>
<span class="narrative">你回到办公桌前,翻开新的案卷,是一起田地围栏纠纷。</span>
<span class="narrative">窗外下雪了。</span>
<span class="internal">你低头写下一行字:</span>
<span class="internal" style="color: #667788; font-style: italic; display: block; padding-left: 1.2em; border-left: 2px solid rgba(201, 169, 110, 0.04); margin: 0.2em 0;">"双方当事人已达成和解。"</span>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-continue">(link:"◈ 继续")[(goto:"错误结局_5最终")]</span>
</div>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .internal {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.fail-body .dialogue-memory {
color: #c9a96e;
font-style: italic;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-continue {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-continue:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-continue tw-link {
color: #667788 !important;
}
.fail-body .btn-continue:hover tw-link {
color: #c9a96e !important;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-body .news-item {
padding: 0.4em 0.8em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
font-size: 0.85em;
color: #667788;
line-height: 1.8;
}
.fail-body .news-item .title {
color: #aabbcc;
}
.fail-body .news-item .date {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
}
.fail-body .news-item .detail {
color: #667788;
}
.fail-body .news-item .detail .gold {
color: #c9a96e;
}
.fail-body .news-item .detail .red {
color: #8a6e6e;
}
.fail-body .final-line {
padding: 0.4em 0.8em;
margin: 0.4em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
font-size: 0.85em;
color: #667788;
line-height: 1.8;
font-style: italic;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 回声 ╱
<span class="fail-title-eng">— ECHO</span>
</div>
<div class="fail-badge">结局 · 余响</div>
</div>
<div class="fail-body">
<span class="narrative">半年后……</span>
<span class="narrative">你在午休时间翻看手机新闻,一则推送跃入眼帘——</span>
<div class="news-item">
<span class="date">1999.04.12</span>
<div class="title">苏塞克斯再度发生酒馆集体中毒案</div>
<div class="detail"><span class="red">三人死亡</span>,<span class="gold">十二人送医</span>,调查组已进驻</div>
</div>
<span class="narrative">你盯着屏幕,手指停在那个标题上,停了很久。</span>
<div class="news-item" style="border-left-color: rgba(201, 169, 110, 0.08);">
<span style="color: #445566; font-size: 0.7em; letter-spacing: 1px;">佩金丝酒馆……</span>
<div style="color: #667788; font-size: 0.85em;">又是佩金丝酒馆。</div>
</div>
<span class="narrative">你想起了一年前的冬天,蒋易坐在你对面的办公桌前,把一沓流水单据推到你面前,说:</span>
<span class="dialogue-memory">"这些账,有问题。"</span>
<span class="narrative">你觉得喉咙里堵着什么。</span>
<span class="narrative">你翻出那张复印件,再一次看着上面的字迹,然后慢慢地把纸折好,放回信封,塞进了书桌最深处的抽屉里。</span>
<span class="narrative">你回到办公桌前,翻开新的案卷,是一起田地围栏纠纷。</span>
<span class="narrative">窗外下雪了。</span>
<div class="final-line">
"双方当事人已达成和解。"
</div>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-continue">(link:"◈ 继续")[(goto:"错误结局_5b最终")]</span>
</div>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.final-container {
max-width: 680px;
margin: 0 auto;
padding: 3em 3.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(0, 0, 0, 0.12);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.8s ease;
}
.final-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.final-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.final-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 10px;
color: #445566;
}
.final-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 5px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.final-badge {
display: inline-block;
margin-top: 0.6em;
padding: 0.2em 1.4em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 6px;
color: #445566;
font-weight: 300;
}
.final-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2.1;
color: #aabbcc;
}
.final-body .narrative {
color: #aabbcc;
}
.final-body .gold {
color: #c9a96e;
}
.final-body .dim {
color: #445566;
}
.final-body .memory {
color: #667788;
font-style: italic;
border-left: 2px solid rgba(201, 169, 110, 0.04);
padding-left: 1.2em;
margin: 0.6em 0;
}
.final-body .memory .quote {
color: #c9a96e;
}
.final-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 8px;
margin: 1.2em 0;
font-size: 0.5em;
}
.final-body .case-line {
padding: 0.3em 0.8em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.04);
font-family: 'JetBrains Mono', monospace;
font-size: 0.8em;
color: #667788;
letter-spacing: 0.5px;
}
.final-body .case-line .label {
color: #445566;
}
.final-body .case-line .content {
color: #8899aa;
}
.final-body .action-box {
padding: 0.8em 1.4em;
margin: 1.2em 0 0.4em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.final-body .btn-restart {
display: inline-block;
padding: 0.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.12);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.75em;
letter-spacing: 5px;
color: #667788;
transition: all 0.4s ease;
background: rgba(201, 169, 110, 0.02);
}
.final-body .btn-restart:hover {
border-color: rgba(201, 169, 110, 0.25);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.final-body .btn-restart tw-link {
color: #667788 !important;
}
.final-body .btn-restart:hover tw-link {
color: #c9a96e !important;
}
.final-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.03);
}
.final-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.6em;
font-weight: 300;
letter-spacing: 4px;
transition: all 0.3s ease;
}
.final-back tw-link {
color: #445566 !important;
}
.final-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(24px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="final-container">
<div class="final-header">
<div class="final-title">
╲ 终章 ╱
<span class="final-title-eng">— THE LAST</span>
</div>
<div class="final-badge">错误结局 · 雪</div>
</div>
<div class="final-body">
<span class="narrative">雪停了。</span>
<span class="narrative">乡镇的傍晚很安静,安静得像什么都没有发生过。</span>
<span class="narrative">你坐在办公桌前,穿着临走前从警署带出来的那件旧外套。北方比苏塞克斯冷得多,你裹了裹衣领,试图挡住从窗缝钻进来的风。</span>
<span class="narrative">你合上了那起田地围栏纠纷的卷宗。</span>
<span class="narrative">窗外是陌生的田野和灰白色的天空。</span>
<span class="narrative">有些案子,你永远也不会有机会查下去了。有些真相,也不会有人再提起。</span>
<span class="narrative">你忽然想起蒋易,想起他生前坐在你对面的办公桌前的样子。</span>
<span class="narrative">那时他总是低着头,在卷宗上写着什么,偶尔抬起头来看你一眼,什么也不说,又继续写。</span>
<span class="narrative">你那时以为他有的是时间。</span>
<span class="memory">
如果当时你能再多问一句就好了。
</span>
<span class="narrative">你低下头,桌面上是一叠新的空白卷宗,你拿起笔,在抬头栏里写下一行字——</span>
<div class="case-line">
<span class="label">案件编号:</span><span class="content">98-1123</span>
</div>
<div class="case-line" style="border-left-color: rgba(201, 169, 110, 0.08);">
<span class="label">案件简述:</span><span class="content">田地围栏纠纷</span>
</div>
<span class="narrative">你放下笔,看着那行字,忽然不知道该写什么了。</span>
<span class="narrative">以前写卷宗的时候,蒋易会坐在对面,头也不抬地说一句:</span>
<span style="color: #c9a96e; font-style: italic;">"写清楚时间、地点、人物,别漏了。"</span>
<span class="narrative">你嫌他啰嗦。</span>
<span class="narrative">现在没有人啰嗦了。</span>
<span class="narrative">你合上了卷宗。</span>
<span class="narrative">窗外又下雪了。</span>
<span class="narrative">你起身去泡茶。</span>
<div class="divider-dash">· · ·</div>
<div style="text-align: center; font-family: 'Inter', sans-serif; font-size: 0.55em; color: #445566; letter-spacing: 6px; margin: 0.6em 0;">
【全案终结】
</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-restart">(link:"◈ 重新开始破案")[
(print: "<script>var a = document.getElementById('bgm_bad_epilogue'); if(a){a.pause();a.volume=0;}</script>")
(set: $clue001 to 0, $clue002 to 0, $clue003 to 0, $clue004 to 0, $clue005 to 0, $clue006 to 0, $clue007 to 0, $clue008 to 0, $clue009 to 0, $clue010 to 0, $clue011 to 0, $clue012 to 0, $clue013 to 0, $clue014 to 0, $clue015 to 0, $clue016 to 0, $clue017 to 0, $clue018 to 0, $clue019 to 0, $clue020 to 0, $clue021 to 0, $clue022 to 0, $clue023 to 0, $clue024 to 0, $clue025 to 0, $clue026 to 0, $clue027 to 0, $clue028 to 0, $clue029 to 0)
(set: $fail_count to 0)
(set: $choice1 to "请选择", $choice2 to "请选择")
(set: $accuse_marcus to false, $accuse_leon to false, $accuse_wil to false, $accuse_dottie to false, $accuse_richard to false, $accuse_carrington to false, $accuse_liu to false)
(set: $accuse_022 to false, $accuse_023 to false, $accuse_024 to false, $accuse_025 to false, $accuse_026 to false)
(set: $suspects_ok to false, $evidence_ok to false, $count to 0)
(set: $egg_display to "")
(goto:"主界面")
]</span>
</div>
</div>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.final-container {
max-width: 680px;
margin: 0 auto;
padding: 3em 3.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
background: rgba(0, 0, 0, 0.12);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.8s ease;
}
.final-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.final-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
padding-bottom: 0.8em;
margin-bottom: 1.8em;
}
.final-title {
font-family: 'Cormorant Garamond', serif;
font-size: 2em;
font-weight: 400;
letter-spacing: 10px;
color: #445566;
}
.final-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.4em;
letter-spacing: 5px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.final-badge {
display: inline-block;
margin-top: 0.6em;
padding: 0.2em 1.4em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 5px;
color: #445566;
font-weight: 300;
}
.final-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2.1;
color: #aabbcc;
}
.final-body .narrative {
color: #aabbcc;
}
.final-body .gold {
color: #c9a96e;
}
.final-body .dim {
color: #445566;
}
.final-body .quiet {
color: #556677;
font-style: italic;
font-size: 0.9em;
}
.final-body .memory {
color: #667788;
font-style: italic;
border-left: 2px solid rgba(201, 169, 110, 0.04);
padding-left: 1.2em;
margin: 0.6em 0;
}
.final-body .memory .quote {
color: #c9a96e;
font-style: italic;
}
.final-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 8px;
margin: 1.4em 0;
font-size: 0.5em;
}
.final-body .signature-block {
padding: 0.6em 0.8em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.03);
background: rgba(0,0,0,0.03);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
color: #667788;
letter-spacing: 1px;
}
.final-body .signature-block .name {
color: #aabbcc;
font-weight: 400;
}
.final-body .signature-block .title {
color: #445566;
font-size: 0.85em;
}
.final-body .action-box {
padding: 0.8em 1.4em;
margin: 1.2em 0 0.4em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.final-body .btn-restart {
display: inline-block;
padding: 0.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.12);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.75em;
letter-spacing: 5px;
color: #667788;
transition: all 0.4s ease;
background: rgba(201, 169, 110, 0.02);
}
.final-body .btn-restart:hover {
border-color: rgba(201, 169, 110, 0.25);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.final-body .btn-restart tw-link {
color: #667788 !important;
}
.final-body .btn-restart:hover tw-link {
color: #c9a96e !important;
}
.final-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.03);
}
.final-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.6em;
font-weight: 300;
letter-spacing: 4px;
transition: all 0.3s ease;
}
.final-back tw-link {
color: #445566 !important;
}
.final-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(24px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="final-container">
<div class="final-header">
<div class="final-title">
╲ 终章 ╱
<span class="final-title-eng">— THE LAST</span>
</div>
<div class="final-badge">错误结局 · 沉没的真相</div>
</div>
<div class="final-body">
<span class="narrative">雪停了。</span>
<span class="narrative">乡镇的傍晚很安静,安静得像什么都没有发生过。</span>
<span class="narrative">你坐在办公桌前,穿着蒋易为你定制的那件深色细条纹西装。它在北方的冬天里显得不太够厚,但你仍然穿着它,就像穿着某种不能被遗忘的东西。</span>
<span class="narrative">你合上了那起田地纠纷的卷宗。</span>
<span class="narrative">窗外是陌生的田野和灰白色的天空。</span>
<span class="quiet">有些案子,你永远也不会有机会查下去了。有些真相,也不会有人再提起。</span>
<span class="narrative">你低下头,看着桌面上那叠新的空白卷宗,然后拿起了笔。</span>
<div class="signature-block">
<span style="color: #445566; font-size: 0.75em; letter-spacing: 2px;">案卷编号:</span><span style="color: #445566;">——</span><br>
<span style="color: #445566; font-size: 0.75em; letter-spacing: 2px;">案卷名称:</span><span style="color: #445566;">——</span><br>
<span style="color: #445566; font-size: 0.75em; letter-spacing: 2px;">签字人:</span><span class="name">天宇·托比</span>
<span class="title">· 侦缉警员</span>
</div>
<span class="narrative">你签下了这个名字。</span>
<div class="memory">
<span class="quote">"别让真相烂在土里。"</span>
<span style="color: #445566; font-size: 0.8em; display: block; margin-top: 0.2em;">—— 蒋易</span>
</div>
<span class="quiet">只是这一次,它已经埋得太深了。</span>
<div class="divider-dash">· · ·</div>
<div style="text-align: center; font-family: 'Inter', sans-serif; font-size: 0.6em; color: #445566; letter-spacing: 6px; margin: 0.8em 0;">
【全案终结】
</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-restart">(link:"◈ 重新开始破案")[
(print: "<script>var a = document.getElementById('bgm_bad_epilogue'); if(a){a.pause();a.volume=0;}</script>")
(set: $clue001 to 0, $clue002 to 0, $clue003 to 0, $clue004 to 0, $clue005 to 0, $clue006 to 0, $clue007 to 0, $clue008 to 0, $clue009 to 0, $clue010 to 0, $clue011 to 0, $clue012 to 0, $clue013 to 0, $clue014 to 0, $clue015 to 0, $clue016 to 0, $clue017 to 0, $clue018 to 0, $clue019 to 0, $clue020 to 0, $clue021 to 0, $clue022 to 0, $clue023 to 0, $clue024 to 0, $clue025 to 0, $clue026 to 0, $clue027 to 0, $clue028 to 0, $clue029 to 0)
(set: $fail_count to 0)
(set: $choice1 to "请选择", $choice2 to "请选择")
(set: $accuse_marcus to false, $accuse_leon to false, $accuse_wil to false, $accuse_dottie to false, $accuse_richard to false, $accuse_carrington to false, $accuse_liu to false)
(set: $accuse_022 to false, $accuse_023 to false, $accuse_024 to false, $accuse_025 to false, $accuse_026 to false)
(set: $suspects_ok to false, $evidence_ok to false, $count to 0)
(set: $egg_display to "")
(goto:"主界面")
]</span>
</div>
</div>
]<script>
if (!document.getElementById('bgm_bad_epilogue')) {
var audio = document.createElement('audio');
audio.id = 'bgm_bad_epilogue';
audio.src = 'https://music.163.com/song/media/outer/url?id=492999917';
audio.loop = true;
audio.volume = 0.35;
document.body.appendChild(audio);
}
var allAudio = document.querySelectorAll('audio');
allAudio.forEach(function(a) {
if (a.id !== 'bgm_bad_epilogue') {
a.pause();
a.volume = 0;
}
});
var audio = document.getElementById('bgm_bad_epilogue');
if (audio) {
audio.currentTime = 0;
audio.play().catch(function(){});
audio.volume = 0.35;
}
</script>
<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&display=swap');
.fail-container {
max-width: 680px;
margin: 0 auto;
padding: 2.5em 2.8em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.6s ease;
}
.fail-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.fail-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.fail-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 8px;
color: #667788;
}
.fail-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.fail-badge {
display: inline-block;
margin-top: 0.4em;
padding: 0.2em 1.2em;
border: 1px solid rgba(201, 169, 110, 0.06);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.55em;
letter-spacing: 4px;
color: #445566;
font-weight: 300;
}
.fail-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2;
color: #aabbcc;
}
.fail-body .highlight {
color: #667788;
}
.fail-body .gold {
color: #c9a96e;
}
.fail-body .dim {
color: #445566;
}
.fail-body .narrative {
color: #aabbcc;
}
.fail-body .internal {
color: #667788;
font-style: italic;
font-size: 0.9em;
}
.fail-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.2em 0;
font-size: 0.6em;
}
.fail-body .btn-continue {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.15);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.8em;
letter-spacing: 4px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.fail-body .btn-continue:hover {
border-color: rgba(201, 169, 110, 0.3);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.fail-body .btn-continue tw-link {
color: #667788 !important;
}
.fail-body .btn-continue:hover tw-link {
color: #c9a96e !important;
}
.fail-body .note-wrapper {
padding: 0.6em 0.4em;
margin: 0.6em 0;
}
.fail-body .note-paper {
padding: 1.6em 2em;
margin: 0.4em 0;
border: 2px solid rgba(201, 169, 110, 0.15);
background: rgba(201, 169, 110, 0.03);
border-radius: 3px;
position: relative;
box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(201, 169, 110, 0.05);
}
.fail-body .note-paper::before {
content: "✧";
position: absolute;
top: -0.4em;
right: 1em;
color: #445566;
font-size: 0.6em;
letter-spacing: 4px;
background: rgba(0, 0, 0, 0.6);
padding: 0 0.4em;
}
.fail-body .note-paper .note-text {
font-family: 'Kalam', cursive;
font-weight: 300;
font-size: 1.1em;
line-height: 2.2;
color: #ccd4dc;
letter-spacing: 0.5px;
}
.fail-body .note-paper .note-text .salutation {
color: #8899aa;
font-size: 1em;
font-weight: 400;
}
.fail-body .note-paper .note-text .body-text {
color: #ccd4dc;
font-size: 1em;
}
.fail-body .note-paper .note-text .highlight-line {
color: #c9a96e;
font-size: 1.1em;
font-weight: 400;
display: block;
margin: 0.2em 0;
}
.fail-body .note-paper .note-text .closing {
color: #aabbcc;
font-size: 0.95em;
}
.fail-body .note-paper .note-text .sig {
text-align: right;
color: #c9a96e;
font-family: 'Kalam', cursive;
font-weight: 400;
font-size: 1.2em;
margin-top: 0.6em;
letter-spacing: 2px;
}
.fail-body .note-paper .note-text .sig .date {
color: #445566;
font-size: 0.6em;
font-family: 'Inter', sans-serif;
letter-spacing: 2px;
font-weight: 300;
}
.fail-body .note-paper .note-text .sig .date .day {
color: #667788;
}
.fail-body .action-box {
padding: 0.8em 1.4em;
margin: 1em 0;
border: 1px solid rgba(201, 169, 110, 0.04);
background: rgba(201, 169, 110, 0.01);
border-radius: 3px;
text-align: center;
}
.fail-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.fail-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.7em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.fail-back tw-link {
color: #445566 !important;
}
.fail-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="fail-container">
<div class="fail-header">
<div class="fail-title">
╲ 迟到的礼物 ╱
<span class="fail-title-eng">— LATE GIFT</span>
</div>
<div class="fail-badge">彩蛋 · 结局</div>
</div>
<div class="fail-body">
<span class="narrative">搬家那晚,你在箱底翻出一个未曾拆封的牛皮纸包裹。</span>
<span class="narrative">没有寄件人,没有地址。只有一行熟悉的字迹,写着你的名字——<span class="gold">天宇·托比</span>。是蒋易的字。</span>
<span class="narrative">你坐在堆满纸箱的房间里,拆开了它。</span>
<span class="narrative">里面是一个汉伯里裁坊的礼盒,和一张手写便签——</span>
<div class="note-wrapper">
<div class="note-paper">
<div class="note-text">
<span class="salutation">天宇,</span>
<br><br>
<span class="body-text">07月29日是你的生日。本想等酒庄的案子了结后,亲自送到你手上。现在看来,可能要晚一些了。</span>
<br><br>
<span class="body-text">这套西装是给你定制的,以后出勤、庭审都能穿。你比我更适合穿它。</span>
<br><br>
<span class="highlight-line">如果有一天我没能把案子收尾——</span>
<span class="highlight-line" style="font-size: 1.2em; letter-spacing: 1px;">那就你来做。</span>
<br>
<span class="body-text" style="color: #aabbcc; font-size: 0.95em;">我信你能走到最后。</span>
<br><br>
<span class="closing">纸短,万事小心。</span>
<div class="sig">
—— 蒋易
<div class="date"><span class="day">1998.10.26</span></div>
</div>
</div>
</div>
</div>
<span class="narrative">礼盒里是一套深色细条纹西装,裁缝的手艺很好,布料厚实妥帖,像是为你量身定做的。</span>
<span class="narrative">口袋内侧有一张定制卡,日期是你的生日前一天。</span>
<span class="narrative">你捧着那套西装,在空荡荡的房间里坐了很久。</span>
<span class="narrative">窗外不知什么时候下起了雨。</span>
<span class="narrative">你忽然想起来,蒋易出事那天,也是这样一个雨夜。</span>
<span class="narrative">你没有哭。</span>
<span class="narrative">只是把那套西装叠好,放回了礼盒,然后把盒子放在了书桌最显眼的位置。那里每天都能看见。</span>
<span class="internal">你错过了很多事。</span>
<span class="internal">也包括这件本该在晴天拆开的礼物。</span>
<div class="divider-dash">· · ·</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-continue">(link:"◈ 继续")[(goto:"错误结局_5a2")]</span>
</div>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.evidence-container {
max-width: 720px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.12);
background: rgba(0, 0, 0, 0.10);
border-radius: 6px;
position: relative;
}
.evidence-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.03) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.evidence-header {
display: flex;
justify-content: space-between;
align-items: baseline;
border-bottom: 1px solid rgba(201, 169, 110, 0.08);
padding-bottom: 0.6em;
margin-bottom: 1.4em;
}
.evidence-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.5em;
font-weight: 400;
letter-spacing: 4px;
color: #c9a96e;
}
.evidence-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 3px;
color: #445566;
font-weight: 300;
margin-left: 0.8em;
}
.evidence-badge {
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 3px;
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.08);
padding: 0.2em 0.8em;
border-radius: 2px;
font-weight: 300;
}
.evidence-meta {
display: flex;
justify-content: space-between;
font-family: 'Inter', sans-serif;
font-size: 0.7em;
color: #445566;
letter-spacing: 1.5px;
font-weight: 300;
margin-bottom: 1.5em;
padding: 0.4em 0.4em 0.6em 0.4em;
border-bottom: 1px dashed rgba(201, 169, 110, 0.05);
}
.evidence-meta span {
color: #667788;
}
.evidence-body {
font-family: 'Inter', sans-serif;
font-size: 0.9em;
font-weight: 300;
line-height: 1.9;
color: #ccd4dc;
}
.evidence-body .label {
color: #8899aa;
font-weight: 400;
letter-spacing: 1px;
}
.evidence-body .highlight {
color: #c9a96e;
}
.evidence-body .dim {
color: #445566;
}
.evidence-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 1.4em 0;
font-size: 0.7em;
}
.evidence-clue {
font-family: 'Cormorant Garamond', serif;
font-size: 1.2em;
font-weight: 400;
letter-spacing: 2px;
color: #c9a96e;
margin: 0.8em 0 0.3em 0;
}
.evidence-clue-item {
padding: 0.5em 1.2em;
margin: 0.2em 0;
border-left: 2px solid rgba(201, 169, 110, 0.08);
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #aabbcc;
font-weight: 300;
letter-spacing: 0.5px;
transition: all 0.5s ease;
animation: fadeIn 0.8s ease;
}
.evidence-clue-item .num {
color: #445566;
font-size: 0.7em;
letter-spacing: 1px;
margin-right: 0.8em;
font-weight: 400;
}
.evidence-clue-item .status {
color: #c9a96e;
font-size: 0.65em;
letter-spacing: 2px;
margin-left: 1em;
opacity: 0.7;
}
.evidence-clue-item .view-link {
color: #667788;
font-size: 0.7em;
letter-spacing: 1px;
margin-left: 0.8em;
transition: all 0.3s ease;
}
.evidence-clue-item .view-link:hover {
color: #c9a96e;
}
.evidence-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.06);
}
.evidence-back {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.evidence-back tw-link {
color: #667788 !important;
}
.evidence-back:hover tw-link {
color: #c9a96e !important;
}
.evidence-nav {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.8em;
font-weight: 300;
letter-spacing: 2px;
transition: all 0.3s ease;
}
.evidence-nav tw-link {
color: #667788 !important;
}
.evidence-nav:hover tw-link {
color: #c9a96e !important;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateX(-10px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes pulseBorder {
0%, 100% { border-color: rgba(201, 169, 110, 0.08); }
50% { border-color: rgba(201, 169, 110, 0.25); }
}
.evidence-clue-item:last-of-type {
animation: fadeIn 0.8s ease, pulseBorder 3s ease infinite;
}
.last-lesson-box {
margin-top: 0.6em;
padding: 0.6em 1.2em;
border-left: 2px solid rgba(201, 169, 110, 0.06);
background: rgba(201, 169, 110, 0.01);
border-radius: 0 3px 3px 0;
}
.last-lesson-box .click-hint {
color: #667788;
font-size: 0.8em;
letter-spacing: 1px;
cursor: pointer;
}
.last-lesson-box .click-hint:hover {
color: #c9a96e;
}
.last-lesson-box .letter-text {
color: #aabbcc;
font-size: 0.9em;
line-height: 2;
}
.last-lesson-box .letter-text .gold {
color: #c9a96e;
font-style: italic;
}
.last-lesson-box .letter-text .signature {
text-align: right;
color: #c9a96e;
font-style: normal;
letter-spacing: 2px;
margin-top: 0.4em;
}
</style>
(css: "max-width: 720px; margin: 0 auto; padding: 0 0.5em;")[
<div class="evidence-container">
<div class="evidence-header">
<span class="evidence-title">
╲ 宴会厅 ╱
<span class="evidence-title-eng">— BALLROOM</span>
</span>
<span class="evidence-badge">EVIDENCE · 02</span>
</div>
<div class="evidence-meta">
<span>记录人:天宇·托比</span>
<span>勘查时间:1998.10.26 23:10</span>
</div>
<div class="evidence-body">
<!-- ====== 变量初始化 ====== -->
(if: $last_lesson_triggered is 0)[(set: $last_lesson_triggered to 0)]
<span class="label">◆ 场地文字记录:</span>
长条实木餐桌摆放多个酒杯,其中一只杯底残留微量白色粉末残留,经法医鉴定有<span class="highlight">蒋易DNA</span>。
壁炉台面摆放红酒品鉴手稿,标注有<span class="highlight">理查德·广</span>专属笔迹。
地面散落少量红酒木塞、纸质宴会邀请函副本,泥土脚印集中在通往地下酒窖的走廊入口。
酒水操作台留有酒保威尔手写酒水配送台账,记录当晚受委托单独为蒋易送上一杯特调。
<!-- ====== 最后一课彩蛋 ====== -->
(if: $clue003 is 1 and $last_lesson_triggered is 0)[
<div class="last-lesson-box">
<span class="click-hint">(link:"[手稿背面似乎夹着什么东西……]")[
(set: $last_lesson_triggered to 1)
(if: $clue_last_lesson is 0)[
(set: $clue_last_lesson to 1)
(dialog: "✉️ 成就解锁 · 最后一课", "你读完了蒋易留在宴会厅的信,他早就知道了")
]
<div style="margin-top: 0.6em;"><div class="letter-text">
你翻开品鉴手稿,一张泛黄的信纸滑落出来。
是蒋易的字迹——
<span style="color: #667788; font-size: 0.85em;">天宇,</span>
如果你看到这封信,说明你已经走到了酒庄最深处。
我知道这杯酒有问题。我也知道喝了会怎样。
但如果不喝,证据链就断了。马库斯会脱身,莱昂·吕会继续坐在督察的位置上,酒庄的黑账永远不会被翻开。
<span class="gold">有些路,走上去就回不了头。但我希望你走下去。</span>
你是对的。我早就知道。
往前看,别回头
<div class="signature">—— 蒋易</div>
<span style="color: #667788; font-size: 0.75em; letter-spacing: 1px;">纸页边缘有一滴已经干涸的水渍。</span>
</div>
</div>
]</span>
</div>
]
</div>
<div class="evidence-divider">· · ·</div>
<div class="evidence-clue">◈ 解锁线索</div>
<div class="evidence-clue-item">
<span class="num">002</span> (if: $clue002 < 1)[(set: $clue002 to 1)] 酒保威尔酒水配送手写台账
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案002_详情")]</span>
</div>
<div class="evidence-clue-item">
<span class="num">003</span> (if: $clue003 < 1)[(set: $clue003 to 1)] 红酒专栏品鉴手稿
<span class="status">─ 已归档</span>
<span class="view-link">(link:"[查看详情]")[(goto:"档案003_详情")]</span>
</div>
<div class="evidence-footer">
<span class="evidence-back">(link:"[返回勘查目录]")[(goto:"实地勘查")]</span>
<span class="evidence-nav">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.achievement-container {
max-width: 680px;
margin: 0 auto;
padding: 2em 2.5em;
border: 1px solid rgba(201, 169, 110, 0.10);
background: rgba(0, 0, 0, 0.08);
border-radius: 6px;
position: relative;
}
.achievement-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.achievement-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.06);
padding-bottom: 0.8em;
margin-bottom: 1.2em;
}
.achievement-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.6em;
font-weight: 400;
letter-spacing: 8px;
color: #c9a96e;
}
.achievement-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 4px;
color: #667788;
font-weight: 300;
margin-left: 0.6em;
}
.achievement-sub {
font-family: 'Inter', sans-serif;
font-size: 0.55em;
color: #445566;
letter-spacing: 3px;
margin-top: 0.1em;
font-weight: 300;
}
.achievement-list {
display: flex;
flex-direction: column;
gap: 0.4em;
margin: 0.8em 0;
}
.achievement-item {
display: flex;
align-items: center;
padding: 0.6em 1.2em;
border-left: 2px solid rgba(201, 169, 110, 0.06);
border-radius: 0 3px 3px 0;
transition: all 0.4s ease;
min-height: 3.2em;
}
.achievement-item.unlocked {
border-left-color: rgba(201, 169, 110, 0.3);
background: rgba(201, 169, 110, 0.02);
}
.achievement-item.locked {
border-left-color: rgba(201, 169, 110, 0.03);
opacity: 0.35;
}
.achievement-item .num {
font-family: 'JetBrains Mono', monospace;
font-size: 0.55em;
color: #445566;
letter-spacing: 2px;
min-width: 2.8em;
font-weight: 400;
}
.achievement-item.unlocked .num {
color: #667788;
}
.achievement-item .icon {
font-size: 1.1em;
margin-right: 0.6em;
width: 1.6em;
text-align: center;
}
.achievement-item .content {
flex: 1;
font-family: 'Inter', sans-serif;
font-size: 0.82em;
letter-spacing: 0.3px;
line-height: 1.5;
}
.achievement-item.unlocked .content {
color: #ccd4dc;
}
.achievement-item.locked .content {
color: #445566;
}
.achievement-item .content .title {
font-weight: 400;
letter-spacing: 1px;
}
.achievement-item.unlocked .content .title {
color: #c9a96e;
}
.achievement-item.locked .content .title {
color: #445566;
}
.achievement-item .content .desc {
font-size: 0.85em;
font-weight: 300;
}
.achievement-item.unlocked .content .desc {
color: #8899aa;
}
.achievement-item.locked .content .desc {
color: #445566;
}
.achievement-item .status-tag {
font-size: 0.5em;
letter-spacing: 2px;
padding: 0.15em 0.8em;
border-radius: 12px;
font-weight: 300;
margin-left: 0.6em;
white-space: nowrap;
}
.achievement-item.unlocked .status-tag {
color: #c9a96e;
border: 1px solid rgba(201, 169, 110, 0.12);
}
.achievement-item.locked .status-tag {
color: #445566;
border: 1px solid rgba(201, 169, 110, 0.04);
}
.achievement-divider {
text-align: center;
color: #445566;
letter-spacing: 6px;
margin: 0.4em 0 0.6em 0;
font-size: 0.6em;
}
.achievement-footer {
display: flex;
justify-content: center;
margin-top: 1.4em;
padding-top: 0.6em;
border-top: 1px solid rgba(201, 169, 110, 0.04);
}
.achievement-return {
font-family: 'Inter', sans-serif;
color: #667788;
font-size: 0.75em;
font-weight: 300;
letter-spacing: 3px;
transition: all 0.3s ease;
}
.achievement-return tw-link {
color: #667788 !important;
}
.achievement-return:hover tw-link {
color: #c9a96e !important;
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="achievement-container">
<div class="achievement-header">
<div class="achievement-title">
╲ 成就笔录 ╱
<span class="achievement-title-eng">— RECORDS —</span>
</div>
<div class="achievement-sub">· 银丘往事 · 六章 ·</div>
</div>
<div class="achievement-list">
<!-- ====== 01 · 余音 ====== -->
(if: $egg_ghost_triggered is 1)[
<div class="achievement-item unlocked">
<span class="num">◈</span>
<span class="icon">👻</span>
<span class="content">
<span class="title">余音</span>
<span class="desc">—— 雨夜警署,一声无人认领的回响</span>
</span>
<span class="status-tag">已录</span>
</div>
](else:)[
<div class="achievement-item locked">
<span class="num">◇</span>
<span class="icon">?</span>
<span class="content">
<span class="title">???</span>
<span class="desc">—— 档案里有一页,只在深夜才会显现</span>
</span>
<span class="status-tag">未寻</span>
</div>
]
<!-- ====== 02 · 最后一课 ====== -->
(if: $clue_last_lesson is 1)[
<div class="achievement-item unlocked">
<span class="num">◈</span>
<span class="icon">✉️</span>
<span class="content">
<span class="title">最后一课</span>
<span class="desc">—— 蒋易留在宴会厅的信,早就知道了结局</span>
</span>
<span class="status-tag">已录</span>
</div>
](else:)[
<div class="achievement-item locked">
<span class="num">◇</span>
<span class="icon">?</span>
<span class="content">
<span class="title">???</span>
<span class="desc">—— 有人把话留在了杯底与纸背之间</span>
</span>
<span class="status-tag">未寻</span>
</div>
]
<!-- ====== 03 · 裂痕 ====== -->
(if: $crack_triggered is 1)[
<div class="achievement-item unlocked">
<span class="num">◈</span>
<span class="icon">📷</span>
<span class="content">
<span class="title">裂痕</span>
<span class="desc">—— 一张被撕碎又粘回去的旧照片</span>
</span>
<span class="status-tag">已录</span>
</div>
](else:)[
<div class="achievement-item locked">
<span class="num">◇</span>
<span class="icon">?</span>
<span class="content">
<span class="title">???</span>
<span class="desc">—— 保险箱里藏着一段被撕碎的旧事</span>
</span>
<span class="status-tag">未寻</span>
</div>
]
<!-- ====== 04 · 藏书家 ====== -->
(if: $book_collector is 1)[
<div class="achievement-item unlocked">
<span class="num">◈</span>
<span class="icon">📜</span>
<span class="content">
<span class="title">藏书家</span>
<span class="desc">—— 书房翻遍,旧账终有人读</span>
</span>
<span class="status-tag">已录</span>
</div>
](else:)[
<div class="achievement-item locked">
<span class="num">◇</span>
<span class="icon">?</span>
<span class="content">
<span class="title">???</span>
<span class="desc">—— 书房四卷,翻完才算真正到过那里</span>
</span>
<span class="status-tag">未寻</span>
</div>
]
<!-- ====== 05 · 笔锋 ====== -->
(if: $pen_master is 1)[
<div class="achievement-item unlocked">
<span class="num">◈</span>
<span class="icon">✒️</span>
<span class="content">
<span class="title">笔锋</span>
<span class="desc">—— 抽屉深处,锁着一篇从未面世的稿子</span>
</span>
<span class="status-tag">已录</span>
</div>
](else:)[
<div class="achievement-item locked">
<span class="num">◇</span>
<span class="icon">?</span>
<span class="content">
<span class="title">???</span>
<span class="desc">—— 抽屉深处,压着一页没能刊印的纸</span>
</span>
<span class="status-tag">未寻</span>
</div>
]
<!-- ====== 06 · 推理者 ====== -->
(if: $logic_master is 1)[
<div class="achievement-item unlocked">
<span class="num">◈</span>
<span class="icon">🧩</span>
<span class="content">
<span class="title">推理者</span>
<span class="desc">—— 八条推理链,拼出完整的真相</span>
</span>
<span class="status-tag">已录</span>
</div>
](else:)[
<div class="achievement-item locked">
<span class="num">◇</span>
<span class="icon">?</span>
<span class="content">
<span class="title">???</span>
<span class="desc">—— 八条线索之间的缝隙,藏着完整的真相</span>
</span>
<span class="status-tag">未寻</span>
</div>
]
</div>
<div class="achievement-divider">· · ·</div>
<div class="achievement-footer">
<span class="achievement-return">(link:"[返回主界面]")[(goto:"主界面")]</span>
</div>
</div>
]
<style>tw-sidebar{display:none!important;}</style>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@300;400&display=swap');
.final-container {
max-width: 680px;
margin: 0 auto;
padding: 3em 3.2em;
border: 1px solid rgba(201, 169, 110, 0.08);
background: rgba(0, 0, 0, 0.12);
border-radius: 6px;
position: relative;
animation: fadeInUp 0.8s ease;
}
.final-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201, 169, 110, 0.02) 0%, transparent 70%);
pointer-events: none;
border-radius: 6px;
}
.final-header {
text-align: center;
border-bottom: 1px solid rgba(201, 169, 110, 0.04);
padding-bottom: 0.8em;
margin-bottom: 1.6em;
}
.final-title {
font-family: 'Cormorant Garamond', serif;
font-size: 1.8em;
font-weight: 400;
letter-spacing: 10px;
color: #667788;
}
.final-title-eng {
font-family: 'Inter', sans-serif;
font-size: 0.45em;
letter-spacing: 5px;
color: #445566;
font-weight: 300;
margin-left: 0.6em;
}
.final-badge {
display: inline-block;
margin-top: 0.6em;
padding: 0.2em 1.4em;
border: 1px solid rgba(201, 169, 110, 0.04);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.5em;
letter-spacing: 6px;
color: #445566;
font-weight: 300;
}
.final-body {
font-family: 'Inter', sans-serif;
font-size: 0.92em;
font-weight: 300;
line-height: 2.1;
color: #aabbcc;
}
.final-body .narrative {
color: #aabbcc;
}
.final-body .gold {
color: #c9a96e;
}
.final-body .dim {
color: #445566;
}
.final-body .signature-block {
padding: 0.6em 0.8em;
margin: 0.6em 0;
border: 1px solid rgba(201, 169, 110, 0.03);
background: rgba(0,0,0,0.03);
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 0.85em;
color: #667788;
letter-spacing: 1px;
}
.final-body .signature-block .name {
color: #c9a96e;
font-weight: 400;
}
.final-body .signature-block .title {
color: #445566;
font-size: 0.85em;
}
.final-body .divider-dash {
text-align: center;
color: #445566;
letter-spacing: 8px;
margin: 1.2em 0;
font-size: 0.5em;
}
.final-body .ending-credit {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-size: 1em;
color: #667788;
letter-spacing: 4px;
margin: 0.8em 0;
}
.final-body .credit-line {
text-align: center;
font-size: 0.7em;
color: #445566;
letter-spacing: 2px;
line-height: 1.8;
}
.final-body .btn-return {
display: inline-block;
padding: 0.4em 2.4em;
border: 1px solid rgba(201, 169, 110, 0.12);
border-radius: 3px;
font-family: 'Inter', sans-serif;
font-size: 0.75em;
letter-spacing: 5px;
color: #667788;
transition: all 0.3s ease;
background: rgba(201, 169, 110, 0.02);
}
.final-body .btn-return:hover {
border-color: rgba(201, 169, 110, 0.25);
color: #c9a96e;
background: rgba(201, 169, 110, 0.04);
}
.final-body .btn-return tw-link {
color: #667788 !important;
}
.final-body .btn-return:hover tw-link {
color: #c9a96e !important;
}
.final-footer {
display: flex;
justify-content: center;
margin-top: 1.8em;
padding-top: 0.8em;
border-top: 1px solid rgba(201, 169, 110, 0.03);
}
.final-back {
font-family: 'Inter', sans-serif;
color: #445566;
font-size: 0.6em;
font-weight: 300;
letter-spacing: 4px;
transition: all 0.3s ease;
}
.final-back tw-link {
color: #445566 !important;
}
.final-back:hover tw-link {
color: #667788 !important;
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(24px); }
100% { opacity: 1; transform: translateY(0); }
}
</style>
(css: "max-width: 680px; margin: 0 auto; padding: 0 0.5em;")[
<div class="final-container">
<div class="final-header">
<div class="final-title">
╲ 案件终结 ╱
<span class="final-title-eng">— CASE CLOSED</span>
</div>
<div class="final-badge">✦ 真相大白 ✦</div>
</div>
<div class="final-body">
<span class="narrative">窗外秋雨绵绵,一如你初到银丘酒庄的那个夜晚。</span>
<span class="narrative">你合上卷宗,指尖停留在最后一页的签字栏上。</span>
<div class="signature-block">
<span style="color: #445566; font-size: 0.75em; letter-spacing: 2px;">签字人:</span><span class="name">天宇·托比</span>
<span class="title">· 侦缉警长</span>
</div>
<span class="narrative">这四个字,是蒋易生前没能写下的。</span>
<span class="narrative">也是他一直在等的人,能替他写下的人。</span>
<span class="narrative">你站起身,将西装外套的扣子系好——那件蒋易生前为你定制的深色细条纹西装,此刻正妥帖地贴合在你的肩线上。</span>
<span class="narrative">你推开门,走进雨里。</span>
<span class="narrative">苏塞克斯的雨还要下很久。</span>
<span style="color: #c9a96e; font-size: 1.05em; display: block; text-align: center; margin: 0.6em 0;">
但真相,已经不再需要等待了。
</span>
<div class="divider-dash">· · ·</div>
<div style="text-align: center; font-family: 'Inter', sans-serif; font-size: 0.55em; color: #445566; letter-spacing: 6px; margin: 0.6em 0;">
【全案终结】
</div>
<div class="credit-line">
感谢你走到这里......
这个故事最初源于一个雨夜——雨声把整个城市压得很低
《今天不易破案》讲述了一个关于真相与离别的故事。
但我忽然想:
如果这个故事可以走下去呢?
如果那些没能说出口的话,能在另一个时空里被听见呢?
于是有了银丘酒庄,有了苏塞克斯的雨,有了这个常亮的警署。
这个游戏献给他们,也献给你——
愿意在雨夜里坐下来,陪一个故事走到最后的人。
真相也许迟迟不来,但你做到了!
让我们共同期待摇汞青年“未完待续”
愿雨声陪你到下一个好故事
</div>
<div class="action-box">
<div style="margin-top: 0.2em;">
<span class="btn-restart">(link:"◈ 结束")[
(print: "<script>var a = document.getElementById('bgm_good_epilogue'); if(a){a.pause();a.volume=0;}</script>")
(set: $clue001 to 0, $clue002 to 0, $clue003 to 0, $clue004 to 0, $clue005 to 0, $clue006 to 0, $clue007 to 0, $clue008 to 0, $clue009 to 0, $clue010 to 0, $clue011 to 0, $clue012 to 0, $clue013 to 0, $clue014 to 0, $clue015 to 0, $clue016 to 0, $clue017 to 0, $clue018 to 0, $clue019 to 0, $clue020 to 0, $clue021 to 0, $clue022 to 0, $clue023 to 0, $clue024 to 0, $clue025 to 0, $clue026 to 0, $clue027 to 0, $clue028 to 0, $clue029 to 0)
(set: $fail_count to 0)
(set: $choice1 to "请选择", $choice2 to "请选择")
(set: $accuse_marcus to false, $accuse_leon to false, $accuse_wil to false, $accuse_dottie to false, $accuse_richard to false, $accuse_carrington to false, $accuse_liu to false)
(set: $accuse_022 to false, $accuse_023 to false, $accuse_024 to false, $accuse_025 to false, $accuse_026 to false)
(set: $suspects_ok to false, $evidence_ok to false, $count to 0)
(set: $egg_display to "")
(goto:"游戏开始界面(玩家)")
]</span>
</div>
</div>
]
自动存档中