jianzhihuixiang/alacarte-novel-website/chapters/chapter-174.html

1042 lines
40 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<title>创世之光的净化 - 阿拉德:剑之回响</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
<style>
:root {
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
--text-primary: #e0e0e0;
--text-secondary: #888;
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
--border-color: rgba(255,255,255,0.1);
--btn-bg: rgba(255,255,255,0.1);
--btn-hover: rgba(255,255,255,0.2);
}
[data-theme="light"] {
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
--text-primary: #333;
--text-secondary: #666;
--border-color: rgba(0,0,0,0.1);
--btn-bg: rgba(0,0,0,0.05);
--btn-hover: rgba(0,0,0,0.1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Serif SC', serif;
background: var(--bg-primary);
color: var(--text-primary);
line-height: 1.8;
min-height: 100vh;
transition: all 0.3s ease;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
padding-bottom: 120px;
}
/* 顶部导航 */
.top-nav {
position: fixed;
top: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.3);
backdrop-filter: blur(10px);
border-bottom: 1px solid var(--border-color);
z-index: 1000;
padding: 10px 20px;
}
.top-nav-content {
max-width: 800px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-link {
color: var(--text-primary);
text-decoration: none;
font-family: 'Noto Sans SC', sans-serif;
font-size: 14px;
padding: 8px 16px;
background: var(--btn-bg);
border: 1px solid var(--border-color);
border-radius: 8px;
transition: all 0.3s ease;
}
.nav-link:hover {
background: var(--btn-hover);
}
.chapter-header {
text-align: center;
padding: 80px 0 40px;
border-bottom: 1px solid var(--border-color);
margin-bottom: 40px;
}
.chapter-number {
font-size: 14px;
color: var(--text-secondary);
letter-spacing: 4px;
text-transform: uppercase;
margin-bottom: 10px;
}
.chapter-title {
font-size: 32px;
font-weight: 700;
background: var(--accent-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 20px;
}
.chapter-meta {
font-size: 14px;
color: var(--text-secondary);
}
.chapter-content {
font-size: 18px;
line-height: 2;
text-align: justify;
}
.chapter-content p {
margin-bottom: 1.5em;
text-indent: 2em;
}
.chapter-content p:first-of-type::first-letter {
font-size: 3em;
float: left;
line-height: 1;
margin-right: 8px;
margin-top: -5px;
background: var(--accent-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 700;
}
/* 固定底部导航 */
.fixed-nav {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.3);
backdrop-filter: blur(10px);
border-top: 1px solid var(--border-color);
z-index: 1000;
padding: 15px 20px;
}
.fixed-nav-content {
max-width: 800px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-btn {
padding: 12px 24px;
background: var(--btn-bg);
border: 1px solid var(--border-color);
border-radius: 8px;
color: var(--text-primary);
text-decoration: none;
transition: all 0.3s ease;
font-family: 'Noto Sans SC', sans-serif;
font-size: 14px;
cursor: pointer;
}
.nav-btn:hover {
background: var(--btn-hover);
transform: translateY(-2px);
}
.nav-btn.disabled {
opacity: 0.3;
cursor: not-allowed;
pointer-events: none;
}
/* 右侧滚动按钮 */
.scroll-buttons {
position: fixed;
right: 20px;
bottom: 90px;
display: flex;
flex-direction: column;
gap: 10px;
z-index: 1001;
}
.scroll-btn {
width: 40px;
height: 40px;
border-radius: 8px;
background: var(--btn-bg);
border: 1px solid var(--border-color);
color: var(--text-primary);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
transition: all 0.3s ease;
font-family: 'Noto Sans SC', sans-serif;
}
.scroll-btn:hover {
background: var(--btn-hover);
}
/* TTS控制面板 */
.tts-panel {
position: fixed;
left: 20px;
bottom: 90px;
display: flex;
flex-direction: column;
gap: 10px;
z-index: 1002;
background: rgba(0,0,0,0.6);
backdrop-filter: blur(10px);
border-radius: 12px;
border: 1px solid var(--border-color);
padding: 15px;
min-width: 180px;
}
.tts-title {
font-size: 12px;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 2px;
margin-bottom: 5px;
}
.tts-controls {
display: flex;
gap: 8px;
margin-bottom: 10px;
}
.tts-btn {
width: 36px;
height: 36px;
border-radius: 8px;
background: var(--btn-bg);
border: 1px solid var(--border-color);
color: var(--text-primary);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
transition: all 0.3s ease;
font-family: 'Noto Sans SC', sans-serif;
}
.tts-btn:hover {
background: var(--btn-hover);
}
.tts-btn.active {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-color: #667eea;
}
.tts-progress {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 10px;
}
.tts-progress-bar {
flex: 1;
height: 4px;
background: var(--btn-bg);
border-radius: 2px;
overflow: hidden;
}
.tts-progress-fill {
height: 100%;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
width: 0%;
transition: width 0.1s ease;
}
.tts-time {
font-size: 12px;
color: var(--text-secondary);
font-family: 'Noto Sans SC', sans-serif;
min-width: 80px;
}
.tts-speed {
display: flex;
align-items: center;
gap: 8px;
}
.tts-speed-label {
font-size: 12px;
color: var(--text-secondary);
font-family: 'Noto Sans SC', sans-serif;
}
.tts-speed-select {
padding: 4px 8px;
background: var(--btn-bg);
border: 1px solid var(--border-color);
border-radius: 4px;
color: var(--text-primary);
font-size: 12px;
cursor: pointer;
font-family: 'Noto Sans SC', sans-serif;
}
@media (max-width: 600px) {
.tts-panel {
left: 10px;
right: 10px;
bottom: auto;
top: 60px;
min-width: auto;
padding: 12px;
width: auto;
z-index: 1003;
}
.tts-btn {
width: 32px;
height: 32px;
font-size: 12px;
}
.tts-title {
font-size: 11px;
}
.tts-speed-label {
font-size: 11px;
}
.tts-speed-select {
padding: 3px 6px;
font-size: 11px;
}
.tts-time {
font-size: 11px;
min-width: 60px;
}
/* 手机端隐藏滚动按钮给TTS腾空间 */
.scroll-buttons {
display: none;
}
}
@media (max-width: 400px) {
.tts-panel {
top: 55px;
padding: 10px;
}
.tts-controls {
gap: 6px;
}
.tts-btn {
width: 28px;
height: 28px;
font-size: 11px;
}
}
/* 侧边栏 - 标题固定,内容滚动 */
.sidebar {
position: fixed;
right: 20px;
top: 50%;
transform: translateY(-50%);
background: rgba(0,0,0,0.5);
backdrop-filter: blur(10px);
border-radius: 12px;
border: 1px solid var(--border-color);
width: 200px;
max-height: 70vh;
z-index: 999;
display: flex;
flex-direction: column;
}
.sidebar-title {
font-size: 14px;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 2px;
padding: 15px 20px;
border-bottom: 1px solid var(--border-color);
flex-shrink: 0;
}
.sidebar-content {
overflow-y: auto;
padding: 10px 20px 20px;
flex: 1;
scrollbar-width: thin;
scrollbar-color: transparent transparent;
transition: scrollbar-color 0.3s ease;
}
.sidebar-content:hover {
scrollbar-color: rgba(255,255,255,0.3) transparent;
}
.sidebar-content::-webkit-scrollbar {
width: 6px;
}
.sidebar-content::-webkit-scrollbar-track {
background: transparent;
}
.sidebar-content::-webkit-scrollbar-thumb {
background: transparent;
border-radius: 3px;
transition: background 0.3s ease;
}
.sidebar-content:hover::-webkit-scrollbar-thumb {
background: rgba(255,255,255,0.3);
}
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
background: rgba(255,255,255,0.5);
}
[data-theme="light"] .sidebar-content:hover {
scrollbar-color: rgba(0,0,0,0.3) transparent;
}
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
background: rgba(0,0,0,0.3);
}
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
background: rgba(0,0,0,0.5);
}
.sidebar-chapter {
display: block;
padding: 8px 0;
color: #aaa;
text-decoration: none;
font-size: 13px;
border-bottom: 1px solid rgba(255,255,255,0.05);
transition: all 0.3s ease;
line-height: 1.5;
}
.sidebar-chapter:hover {
color: #667eea;
}
.sidebar-chapter.current {
color: #667eea;
font-weight: 600;
}
@media (max-width: 1200px) {
.sidebar {
display: none;
}
}
@media (max-width: 600px) {
.chapter-title {
font-size: 24px;
}
.chapter-content {
font-size: 16px;
}
.fixed-nav-content {
gap: 10px;
}
.nav-btn {
padding: 10px 15px;
font-size: 12px;
}
.scroll-buttons {
right: 10px;
bottom: 80px;
}
.scroll-btn {
width: 36px;
height: 36px;
}
}
/* 滚动条样式 */
.sidebar::-webkit-scrollbar {
width: 4px;
}
.sidebar::-webkit-scrollbar-track {
background: transparent;
}
.sidebar::-webkit-scrollbar-thumb {
background: rgba(255,255,255,0.2);
border-radius: 2px;
}
</style>
</head>
<body>
<!-- 顶部导航 -->
<nav class="top-nav">
<div class="top-nav-content">
<a href="../index.html" class="nav-link">返回首页</a>
<button class="nav-link" id="themeToggle">切换主题</button>
</div>
</nav>
<div class="container">
<header class="chapter-header">
<div class="chapter-number">Chapter 174</div>
<h1 class="chapter-title">{{CHAPTER_TITLE}}</h1>
</header>
<article class="chapter-content">
<p>林克站在奥兹玛面前,金色的光芒笼罩他的身体。</p>
<p>创世之力与神圣之力融合,力量达到前所未有的强度。</p>
<p>他感受到体内创世之力碎片的融合。</p>
<p>希洛克、普雷、伊西斯...所有碎片开始凝聚。</p>
<p>金色的光芒越来越亮,照亮整个空间。</p>
<p>"奥兹玛,我准备好了。"</p>
<p>奥兹玛看向林克,眼中不再有仇恨和疯狂。</p>
<p>"林克...谢谢你。"</p>
<p>"我...准备好被净化了。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>林克举起光剑,金色的光芒向奥兹玛涌去。</p>
<p>创世之光的净化开始。</p>
<p>金色的光芒笼罩奥兹玛,他的混沌之力开始被净化。</p>
<p>黑色的纹路开始断裂,混沌之躯开始消散。</p>
<p>创世之力是纯净的力量,可以否定一切混沌。</p>
<p>奥兹玛的混沌之力在创世之光下逐渐消散。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>奥兹玛发出痛苦的嘶吼,但这不是仇恨的嘶吼。</p>
<p>而是解脱的嘶吼。</p>
<p>"啊啊啊..."</p>
<p>他的声音中充满了悲伤和解脱。</p>
<p>几百年的混沌,终于要结束了。</p>
<p>他的灵魂终于可以摆脱仇恨的束缚。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>他的身体剧烈颤抖。</p>
<p>混沌之力与创世之力冲突。</p>
<p>黑色的混沌逐渐被金色的创世之力吞噬。</p>
<p>两种力量在奥兹玛体内斗争。</p>
<p>创世之力太强大了,混沌之力无法抵抗。</p>
<p>奥兹玛的身体开始变化。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>扭曲的身体逐渐恢复人形。</p>
<p>黑色的斗篷消散,露出他的真实面貌。</p>
<p>混沌之躯消散,恢复成正常的人类形态。</p>
<p>他的双手不再是利爪,而是正常的人类双手。</p>
<p>他的皇冠开始碎裂,血红色的宝石失去光芒。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>那是一个银色长发的男子。</p>
<p>他的面容俊美但疲惫,曾经是佩鲁斯帝国首席法师的风采。</p>
<p>他的眼睛逐渐变成银色,血红色的疯狂完全消失。</p>
<p>取而代之的是悲伤和解脱。</p>
<p>"我的身体...正在恢复..."奥兹玛喃喃。</p>
<p>"混沌...正在消散..."</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>林克继续释放创世之力。</p>
<p>金色的光芒越来越亮,净化越来越彻底。</p>
<p>创世之力深入奥兹玛的灵魂,净化所有的混沌。</p>
<p>几百年的混沌侵蚀,在创世之光下逐渐消散。</p>
<p>奥兹玛的混沌之力完全被净化。</p>
<p>他的皇冠上的血红色宝石发出最后的闪光,然后碎裂。</p>
<p>混沌之力的源泉消失。</p>
<p>奥兹玛不再是混沌之神。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>他恢复了真实面貌。</p>
<p>银色长发,俊美面容,悲伤的眼神。</p>
<p>但他不再疯狂,不再仇恨。</p>
<p>他只是曾经的奥兹玛——佩鲁斯帝国的首席法师。</p>
<p>一个被背叛、被利用、但最终解脱的人。</p>
<p>"奥兹玛...你终于恢复了。"林克说。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>奥兹玛看向林克,眼中含着泪水。</p>
<p>"谢谢你...林克。"</p>
<p>"我...终于从混沌中解脱了。"</p>
<p>"我...不再是混沌之神了。"</p>
<p>"我只是...奥兹玛。"</p>
<p>他的声音虚弱,但充满感激。</p>
<p>几百年的混沌,终于结束。</p>
<p>他终于可以解脱了。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>米歇尔走近奥兹玛:"奥兹玛...老朋友。"</p>
<p>"你终于解脱了。"</p>
<p>奥兹玛看向米歇尔:"米歇尔...谢谢你。"</p>
<p>"谢谢你一直守护我。"</p>
<p>"谢谢你...没有杀我。"</p>
<p>米歇尔摇头:"不,这是我应该做的。"</p>
<p>"你是我挚友。"</p>
<p>"我不会放弃你。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>两人相视,几百年的羁绊终于得到结果。</p>
<p>奥兹玛露出疲惫的笑容:"米歇尔...对不起。"</p>
<p>"我被混沌吞噬了...我被仇恨控制了。"</p>
<p>"我伤害了无数人..."</p>
<p>米歇尔摇头:"不,那不是你的错。"</p>
<p>"是赫尔德欺骗了你。"</p>
<p>"是皇帝背叛了你。"</p>
<p>"你只是被利用的工具。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>奥兹玛的眼中闪过一丝愤怒:"赫尔德...皇帝..."</p>
<p>"他们...利用了我。"</p>
<p>"他们...毁了我的一切。"</p>
<p>但他的愤怒很快被悲伤取代。</p>
<p>"但现在...我解脱了。"</p>
<p>"我不需要再仇恨了。"</p>
<p>"莉兹在等我...米歇尔在等我..."</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>林克感受到奥兹玛的变化。</p>
<p>"奥兹玛,你的混沌之力已经完全被净化。"</p>
<p>"你现在可以解脱了。"</p>
<p>奥兹玛点头:"是的。"</p>
<p>"我的时间到了。"</p>
<p>"我的灵魂被混沌侵蚀太久...无法继续存在。"</p>
<p>"但至少...我在解脱中离开...而不是在仇恨中疯狂。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>周围的环境开始变化。</p>
<p>创世之光不只是净化奥兹玛,还净化整个黑色大地。</p>
<p>金色的光芒向四周扩散,驱散所有的混沌。</p>
<p>黑色大地上的诅咒开始解除。</p>
<p>血红色的天空逐渐变成正常的蓝色。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>焦黑的土地开始恢复生机。</p>
<p>地面上出现绿色的草芽,树木开始生长。</p>
<p>空气中弥漫的死亡气息消散。</p>
<p>清新的空气开始流动。</p>
<p>"黑色大地...正在恢复。"敏泰惊讶地说。</p>
<p>艾丽丝点头:"奥兹玛的诅咒消散了。"</p>
<p>艾拉在天空中感受:"空气变得清新了。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>林克感受着这一切的变化。</p>
<p>创世之力碎片在体内融合,他感受到力量的提升。</p>
<p>"创世之力...越来越完整了。"</p>
<p>他看向奥兹玛:"奥兹玛,你解脱了。"</p>
<p>奥兹玛露出最后的笑容:"谢谢你...林克。"</p>
<p>"你让我解脱。"</p>
<p>"你让我从仇恨中解脱。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>他的身体开始消散。</p>
<p>银色的光芒从他的体内涌出,向天空飘去。</p>
<p>奥兹玛的灵魂正在前往神界。</p>
<p>他终于解脱了。</p>
<p>奥兹玛看向米歇尔:"米歇尔...老朋友。"</p>
<p>"我会在神界等你。"</p>
<p>"莉兹也在等我。"</p>
<p>"我们...会在那里团聚。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>米歇尔点头,眼中含着泪水:"奥兹玛...我也会去神界。"</p>
<p>"我们...会在那里重逢。"</p>
<p>几百年的羁绊,终于有了结果。</p>
<p>挚友在神界重逢。</p>
<p>这是米歇尔一直等待的时刻。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>奥兹玛看向林克:"林克...谢谢你。"</p>
<p>"你...让我实现了几百年的解脱。"</p>
<p>"我会记住你。"</p>
<p>"莉兹也会记住你。"</p>
<p>林克点头:"奥兹玛...一路走好。"</p>
<p>"在神界...与莉兹团聚。"</p>
<p>奥兹玛的身体完全消散,化作银色的光芒。</p>
<p>这些光芒向天空飘去,消散在恢复蓝色的天空中。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>黑色大地彻底恢复。</p>
<p>天空是正常的蓝色,大地恢复了绿色。</p>
<p>空气中不再有死亡气息,而是清新的空气。</p>
<p>诅咒解除,伪装者也恢复了人类的意识。</p>
<p>曾经的伪装者,现在变成了正常的人类。</p>
<p>"黑色大地...终于恢复正常了。"敏泰说。</p>
<p>艾丽丝点头:"奥兹玛的诅咒...完全消散了。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>米歇尔站在原地,感受着这一切的变化。</p>
<p>"奥兹玛...终于解脱了。"</p>
<p>"几百年的守护...终于有了结果。"</p>
<p>他的分身开始消散。</p>
<p>"我的任务完成了。"</p>
<p>"奥兹玛解脱,我也可以离开了。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>林克看向米歇尔:"米歇尔,谢谢你。"</p>
<p>"没有你的帮助,我无法净化奥兹玛。"</p>
<p>米歇尔摇头:"不,是你做到了。"</p>
<p>"我只是帮助你。"</p>
<p>"你拥有创世之力,那是赫尔德害怕的力量。"</p>
<p>"你用这力量拯救了奥兹玛。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>米歇尔的分身开始消散:"林克,我还有一个消息告诉你。"</p>
<p>"关于神界。"</p>
<p>林克眼神一亮:"神界?"</p>
<p>米歇尔点头:"是的。"</p>
<p>"奥兹玛的灵魂去了神界。"</p>
<p>"莉兹的灵魂也在神界。"</p>
<p>"神界是纯净灵魂的去处...也是创世之力的源头。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>林克听到这个消息,心中充满期待。</p>
<p>"神界...是创世之力的源头?"</p>
<p>米歇尔点头:"是的。"</p>
<p>"你融合了创世之力碎片。"</p>
<p>"但你需要完整的创世之力。"</p>
<p>"完整的创世之力...在神界。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>"神界在哪里?"林克问。</p>
<p>米歇尔指向远方:"次元裂缝深处。"</p>
<p>"黑色大地曾是次元裂缝的一部分。"</p>
<p>"奥兹玛解脱后,次元裂缝恢复了稳定。"</p>
<p>"但在裂缝深处...有通往神界的入口。"</p>
<p>林克点头:"我会去神界。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>米歇尔露出欣慰的笑容:"我相信你。"</p>
<p>"你拯救了奥兹玛...你也会拯救更多人。"</p>
<p>"神界...是你下一个目的地。"</p>
<p>他的分身开始消散:"林克,一路走好。"</p>
<p>"我在神界等你。"</p>
<p>米歇尔的身影消失,金色的光芒消散在空中。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>林克站在原地,感受着这一切的变化。</p>
<p>奥兹玛解脱了,米歇尔离开了。</p>
<p>黑色大地恢复了正常。</p>
<p>创世之力在体内融合,力量提升了。</p>
<p>神界...下一个目的地。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>敏泰、艾丽丝、艾拉三人走近林克。</p>
<p>"林克,我们接下来去哪里?"艾丽丝问。</p>
<p>林克看向天空:"神界。"</p>
<p>"次元裂缝深处,有神界的入口。"</p>
<p>"那里是创世之力的源头。"</p>
<p>敏泰点头:"那就走吧。"</p>
<p>艾拉展开天空之翼:"我会带你们找到入口。"</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p>林克点头:"先返回阿拉德大陆,休整一下。"</p>
<p>"然后...前往神界。"</p>
<p>一行人离开黑色大地,返回阿拉德大陆。</p>
<p>奥兹玛篇,即将完结。</p>
<p>新的旅程,即将开始。</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0;">···</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0; margin-top: 2em;">(第一百七十四章完)</p>
<p style="text-align: center; color: var(--text-secondary); text-indent: 0; margin-top: 2em;">(奥兹玛篇·第十一章)</p>
</article>
</div>
<!-- 固定底部导航 -->
<nav class="fixed-nav">
<div class="fixed-nav-content">
<a href="chapter-173.html" class="nav-btn ">上一章</a>
<a href="../chapters.html" class="nav-btn">目录</a>
<a href="chapter-175.html" class="nav-btn ">下一章</a>
</div>
</nav>
<!-- 右侧滚动按钮 -->
<div class="scroll-buttons">
<button class="scroll-btn" id="scrollTop" title="回到顶部"></button>
<button class="scroll-btn" id="scrollBottom" title="回到底部"></button>
</div>
<!-- TTS语音朗读面板 -->
<div class="tts-panel" id="ttsPanel">
<div class="tts-title">语音朗读</div>
<div class="tts-controls">
<button class="tts-btn" id="ttsPlay" title="播放"></button>
<button class="tts-btn" id="ttsPause" title="暂停"></button>
<button class="tts-btn" id="ttsStop" title="停止"></button>
</div>
<div class="tts-progress">
<div class="tts-progress-bar">
<div class="tts-progress-fill" id="ttsProgressFill"></div>
</div>
<div class="tts-time" id="ttsTime">0 / 0</div>
</div>
<div class="tts-speed">
<span class="tts-speed-label">速度:</span>
<select class="tts-speed-select" id="ttsSpeed">
<option value="0.5">慢速</option>
<option value="0.75">较慢</option>
<option value="1" selected>正常</option>
<option value="1.25">较快</option>
<option value="1.5">快速</option>
<option value="2">极速</option>
</select>
</div>
</div>
<!-- 侧边栏章节导航 -->
<aside class="sidebar">
<div class="sidebar-title">章节导航</div>
<div class="sidebar-content" id="sidebarContent">
<a href="chapter-144.html" class="sidebar-chapter ">第144章诅咒的守护者</a>
<a href="chapter-145.html" class="sidebar-chapter ">第145章精灵的誓言</a>
<a href="chapter-146.html" class="sidebar-chapter ">第146章深渊之眼</a>
<a href="chapter-147.html" class="sidebar-chapter ">第147章赫尔德的仪式</a>
<a href="chapter-148.html" class="sidebar-chapter ">第148章战后余晖</a>
<a href="chapter-149.html" class="sidebar-chapter ">第149章泰波尔斯的召唤</a>
<a href="chapter-150.html" class="sidebar-chapter ">第150章天空之城</a>
<a href="chapter-151.html" class="sidebar-chapter ">第151章风暴试炼</a>
<a href="chapter-152.html" class="sidebar-chapter ">第152章光芒与暗影</a>
<a href="chapter-153.html" class="sidebar-chapter ">第153章天空之战</a>
<a href="chapter-154.html" class="sidebar-chapter ">第154章天空之战</a>
<a href="chapter-155.html" class="sidebar-chapter ">第155章天空之战</a>
<a href="chapter-156.html" class="sidebar-chapter ">第156章格兰之森异象</a>
<a href="chapter-157.html" class="sidebar-chapter ">第157章魔界深处</a>
<a href="chapter-158.html" class="sidebar-chapter ">第158章幻象迷宫</a>
<a href="chapter-159.html" class="sidebar-chapter ">第159章无形之战</a>
<a href="chapter-160.html" class="sidebar-chapter ">第160章无形者的秘密</a>
<a href="chapter-161.html" class="sidebar-chapter ">第161章光之试炼</a>
<a href="chapter-162.html" class="sidebar-chapter ">第162章希洛克的陷阱</a>
<a href="chapter-163.html" class="sidebar-chapter ">第163章无形之战</a>
<a href="chapter-164.html" class="sidebar-chapter ">第164章日常的温馨</a>
<a href="chapter-165.html" class="sidebar-chapter ">第165章莎莎的信</a>
<a href="chapter-166.html" class="sidebar-chapter ">第166章圣者之鸣号</a>
<a href="chapter-167.html" class="sidebar-chapter ">第167章黑色大地入口</a>
<a href="chapter-168.html" class="sidebar-chapter ">第168章焦黑之地深入</a>
<a href="chapter-169.html" class="sidebar-chapter ">第169章暗黑骑士团</a>
<a href="chapter-170.html" class="sidebar-chapter ">第170章黑暗中的记忆</a>
<a href="chapter-171.html" class="sidebar-chapter ">第171章混沌王座</a>
<a href="chapter-172.html" class="sidebar-chapter ">第172章混沌之神的力量</a>
<a href="chapter-173.html" class="sidebar-chapter ">第173章米歇尔的羁绊</a>
<a href="chapter-174.html" class="sidebar-chapter current">第174章创世之光的净化</a>
<a href="chapter-175.html" class="sidebar-chapter ">第175章混沌的终结</a>
<a href="chapter-176.html" class="sidebar-chapter ">第176章篇章落幕</a>
<a href="chapter-177.html" class="sidebar-chapter ">第177章番外·米歇尔的最后祝福</a>
<a href="chapter-178.html" class="sidebar-chapter ">第178章番外·奥兹玛的遗言</a>
</div>
</aside>
<script>
// 记录阅读进度
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
if (!readChapters.includes(174)) {
readChapters.push({{CHAPTER_ID}});
localStorage.setItem('readChapters', JSON.stringify(readChapters));
}
// 主题切换
const themeToggle = document.getElementById('themeToggle');
const savedTheme = localStorage.getItem('theme') || 'dark';
document.documentElement.setAttribute('data-theme', savedTheme);
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
themeToggle.addEventListener('click', () => {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
document.documentElement.setAttribute('data-theme', newTheme);
localStorage.setItem('theme', newTheme);
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
});
// 滚动到顶部
document.getElementById('scrollTop').addEventListener('click', () => {
window.scrollTo({ top: 0, behavior: 'smooth' });
});
// 滚动到底部
document.getElementById('scrollBottom').addEventListener('click', () => {
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
});
// 页面加载时,侧边栏自动滚动到当前章节
window.addEventListener('load', () => {
const sidebarContent = document.getElementById('sidebarContent');
const currentChapter = sidebarContent.querySelector('.current');
if (currentChapter) {
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
});
// ========== TTS语音朗读功能 ==========
let ttsSynth = window.speechSynthesis;
let ttsUtterance = null;
let ttsText = '';
let ttsSentences = [];
let ttsCurrentIndex = 0;
let ttsIsPlaying = false;
let ttsIsPaused = false;
let ttsSpeed = 1;
// 初始化:提取章节内容
function initTTS() {
const contentEl = document.querySelector('.chapter-content');
if (!contentEl) return;
// 获取所有段落文本清理HTML标签
ttsText = contentEl.innerText || contentEl.textContent;
// 分割成句子(中文按句号、问号、感叹号分割)
ttsSentences = ttsText.match(/[^。!?\n]+[。!?\n]+|[^。!?\n]+$/g) || [ttsText];
ttsSentences = ttsSentences.filter(s => s.trim().length > 0);
updateTTSProgress();
}
// 更新进度显示
function updateTTSProgress() {
const total = ttsSentences.length;
const current = ttsCurrentIndex;
document.getElementById('ttsTime').textContent = `${current} / ${total}`;
const percent = total > 0 ? (current / total * 100) : 0;
document.getElementById('ttsProgressFill').style.width = `${percent}%`;
}
// 播放当前句子
function playCurrentSentence() {
if (ttsCurrentIndex >= ttsSentences.length) {
stopTTS();
return;
}
const text = ttsSentences[ttsCurrentIndex].trim();
ttsUtterance = new SpeechSynthesisUtterance(text);
ttsUtterance.lang = 'zh-CN';
ttsUtterance.rate = ttsSpeed;
// 尝试选择中文语音
const voices = ttsSynth.getVoices();
const zhVoice = voices.find(v => v.lang.includes('zh') || v.lang.includes('CN'));
if (zhVoice) {
ttsUtterance.voice = zhVoice;
}
ttsUtterance.onend = () => {
if (ttsIsPlaying && !ttsIsPaused) {
ttsCurrentIndex++;
updateTTSProgress();
playCurrentSentence();
}
};
ttsUtterance.onerror = (e) => {
console.error('TTS error:', e);
if (ttsIsPlaying) {
ttsCurrentIndex++;
updateTTSProgress();
playCurrentSentence();
}
};
ttsSynth.speak(ttsUtterance);
}
// 播放
function playTTS() {
if (ttsSentences.length === 0) {
initTTS();
}
if (ttsIsPaused) {
ttsSynth.resume();
ttsIsPaused = false;
} else {
ttsIsPlaying = true;
playCurrentSentence();
}
document.getElementById('ttsPlay').classList.add('active');
document.getElementById('ttsPause').classList.remove('active');
}
// 暂停
function pauseTTS() {
if (ttsIsPlaying) {
ttsSynth.pause();
ttsIsPaused = true;
document.getElementById('ttsPlay').classList.remove('active');
document.getElementById('ttsPause').classList.add('active');
}
}
// 停止
function stopTTS() {
ttsSynth.cancel();
ttsIsPlaying = false;
ttsIsPaused = false;
ttsCurrentIndex = 0;
updateTTSProgress();
document.getElementById('ttsPlay').classList.remove('active');
document.getElementById('ttsPause').classList.remove('active');
}
// 设置速度
function setTTSSpeed(speed) {
ttsSpeed = parseFloat(speed);
// 如果正在播放,需要重新开始当前句子
if (ttsIsPlaying && !ttsIsPaused) {
ttsSynth.cancel();
playCurrentSentence();
}
}
// 绑定事件
document.getElementById('ttsPlay').addEventListener('click', playTTS);
document.getElementById('ttsPause').addEventListener('click', pauseTTS);
document.getElementById('ttsStop').addEventListener('click', stopTTS);
document.getElementById('ttsSpeed').addEventListener('change', (e) => setTTSSpeed(e.target.value));
// 加载语音列表(某些浏览器需要异步加载)
if (speechSynthesis.onvoiceschanged !== undefined) {
speechSynthesis.onvoiceschanged = initTTS;
}
// 页面加载时初始化
window.addEventListener('load', () => {
initTTS();
});
// 页面离开时停止播放
window.addEventListener('beforeunload', stopTTS);
</script>
</body>
</html>