Back to discovery
英雄本色
Comic · 繁體中文

英雄本色

這是一個關於兩個男人的故事,為了實現改造日本的理想,他們必需分別成為「執政首相」與「黑道教父」。光與影的故事,便從此而開始…… 「別人要奮鬥30年才能得到的東西,我只要一天就可以拿到」對北條彰和淺見千秋這兩個熱血男兒而言,這只是實現夢想的手段罷了。為了建立他們心中的「聖堂」,他們必須分別在黑、白兩道闖蕩、出頭;他們就如同光與影般不可分…… 📚 作品資訊:作者 池上遼一 / 史村翔 · 評分 10 · 共收錄 12 卷 / 104 話章節目錄與高清彩頁/條漫預覽。 📖 線上漫畫閱讀器:https://media.huangguodrama.ai/motion/comics/bilimanga-144/index.html

Comic

Continue With Interactive Roleplay & Novel Adaptation

Keep exploring the world of 英雄本色: chat with AI characters in interactive roleplay, read full web novel adaptations, or binge multi-episode vertical dramas across the Huangguo network.

Watch and read details

Available now
10 available images
Reading language
简体中文

Content record updated .

Availability describes the media currently listed here. A preview is not a complete series; more episodes or a release schedule are not promised.

Read & Watch 英雄本色 Online — FAQ

Explore 英雄本色 online in your browser on Reelshorts. 10 available images.

Where can I read or watch 英雄本色 online?
You can explore 英雄本色 directly in your browser on Reelshorts (https://reelshorts.app/title/1016566). Current availability: 10 available images.
What other collections are available on Reelshorts?
Browse Readable Novels, Short Dramas to Watch Online, Alpha King & Fated Mate Wolf Pack Dramas, Revenge Heiress & Betrayed Wife Comeback, Secret Billionaire Baby & Hidden Identity, Best Free DramaBox & ShortMax Alternatives, Top Chinese Short Dramas with English Subtitles, and Visual Stories in the Huangguo catalog.
简体中文

漫画简介与全卷章节目录

【英雄本色(英雄本色)· 漫画导览与全卷目录】

作者:池上辽一 / 史村翔

评分:10

标签:热血 / 冒险 / 职场 / 犯罪 / 职场都市 / 日本漫画 / 漫画 / 日漫

在线漫画阅读器:https://media.huangguodrama.ai/motion/comics/bilimanga-144/index.html

■ 剧情简介:

这是一个关于两个男人的故事,为了实现改造日本的理想,他们必需分别成为「执政首相」与「黑道教父」。光与影的故事,便从此而开始……

「别人要奋斗30年才能得到的东西,我只要一天就可以拿到」对北条彰和浅见千秋这两个热血男儿而言,这只是实现梦想的手段罢了。为了建立他们心中的「圣堂」,他们必须分别在黑、白两道闯荡、出头;他们就如同光与影般不可分……

📚 作品信息:作者 池上辽一 / 史村翔 · 评分 10 · 共收录 12 卷 / 104 话章节目录与高清彩页/条漫预览。

■ 收录分卷(共 12 卷):

• 英雄本色 1 明与暗

• 英雄本色 2 日本

• 英雄本色 3 称霸

• 英雄本色 4 斗争的序幕

• 英雄本色 5 决心

• 英雄本色 6 斧

• 英雄本色 7 苏醒

• 英雄本色 8 攻守

• 英雄本色 9 揭露

• 英雄本色 10 离党

• 英雄本色 11 新会派

• 英雄本色 12 圣域

■ 章节目录(前 80 话 / 共 104 话):

• Vol. 1 圣域

• Vol. 2 组织

• Vol. 3 少N

• Vol. 4 反击

• Vol. 5 咬老虎

• Vol. 6 明与暗

• Vol. 7 英雄

• Vol. 8 威迫

• Vol. 9 炮弹

• Vol. 10 痛楚

• Vol. 1 摩擦

• Vol. 2 梦

• Vol. 3 命(灵魂)

• Vol. 4 饥饿

• Vol. 5 意志

• Vol. 6 新恋长

• Vol. 7 牙

• Vol. 8 日本

• Vol. 9 难民

• Vol. 1 东埔寨

• Vol. 2 称霸

• Vol. 4 猛拳

• Vol. 5 开国

• Vol. 6 香港

• Vol. 7 共存共荣

• Vol. 8 皇位

• Vol. 9 解散

• Vol. 1 遇刺

• Vol. 2 门争的序幕

• Vol. 3 敌人

• Vol. 4 觉醒

• Vol. 5 打架

• Vol. 6 暗号

• Vol. 7 总理

• Vol. 8 首级

• Vol. 1 抗争

• Vol. 2 实力

• Vol. 3 黑帮

• Vol. 4 回忆

• Vol. 5 终结

• Vol. 6 决心

• Vol. 7 目的

• Vol. 8 比赛挑战

• Vol. 1 神户山王会

• Vol. 2 五合目

• Vol. 3 操控

• Vol. 4 恩仇

• Vol. 5 蛀虫

• Vol. 6 斧

• Vol. 7 约定

• Vol. 8 机会

• Vol. 9 结盟

• Vol.1 四六分帐

• Vol.2 战略

• Vol.3 重组

• Vol.4 苏醒

• Vol.5 重生

• Vol.6 魔手

• Vol.7 志气

• Vol.8 袭击

• Vol.9 老去

• VOL.1 偶像

• VOL.2 以牙还牙

• VOL.3 心脏地带

• VOL.5 生存者

• VOL.6 鼠辈

• VOL.7 攻守

• VOL.8 追溯

• VOL.9 正确言论

• VOL.1 第四代总长代任

• VOL.2 未来十年

• VOL.3 意识改革

• VOL.4 旧友

• VOL.5 揭露

• VOL.6 记者会

• VOL.7 廉洁

• VOL.8 胜算

• VOL.9 表明

• VOL.1 真理

• VOL.2 离党

首章高清条漫/翻页画页预览

# 英雄本色 · 首章高清画页连载预览

> 在线完整下拉/翻页阅读器:https://media.huangguodrama.ai/motion/comics/bilimanga-144/index.html

![英雄本色 - 第 1 页](https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_01.jpg)

![英雄本色 - 第 2 页](https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_02.jpg)

![英雄本色 - 第 3 页](https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_03.jpg)

![英雄本色 - 第 4 页](https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_04.jpg)

![英雄本色 - 第 5 页](https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_05.jpg)

![英雄本色 - 第 6 页](https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_06.jpg)

HTML5 在线漫画阅读器 (index.html)

<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=3,user-scalable=yes">

<title>英雄本色 - 在线漫画阅读器</title>

<style>

*{box-sizing:border-box;margin:0;padding:0}

body{background:#0d0f17;color:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column}

header{position:sticky;top:0;z-index:50;background:rgba(13,15,23,0.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.09);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}

.brand{display:flex;align-items:center;gap:10px}

.badge{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px}

.title{font-size:16px;font-weight:700;color:#fff}

.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

button{background:rgba(255,255,255,0.08);color:#e2e8f0;border:1px solid rgba(255,255,255,0.14);padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;transition:.18s}

button:hover,button.active{background:#ec4899;color:#fff;border-color:#ec4899}

.hero{max-width:920px;margin:16px auto;padding:18px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;display:flex;gap:18px;align-items:flex-start}

.hero img{width:120px;height:160px;object-fit:cover;border-radius:10px;flex-shrink:0;box-shadow:0 8px 24px rgba(0,0,0,0.45)}

.hero-meta h1{font-size:20px;margin-bottom:6px}

.hero-meta .sub{font-size:13px;color:#94a3b8;margin-bottom:8px}

.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}

.tag{background:rgba(236,72,153,0.16);color:#f472b6;padding:2px 8px;border-radius:6px;font-size:11px}

.desc{font-size:13px;line-height:1.6;color:#cbd5e1}

.reader-wrap{max-width:860px;width:100%;margin:0 auto 40px;padding:0 8px;flex:1}

.scroll-mode .page-card{margin-bottom:10px;background:#161925;border-radius:8px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,0.4)}

.scroll-mode .page-card img{width:100%;height:auto;display:block}

.page-footer{text-align:center;font-size:11px;color:#64748b;padding:4px 0}

.flip-controls{display:none;justify-content:center;align-items:center;gap:14px;margin:14px 0}

.flip-mode .flip-controls{display:flex}

.drawer{display:none;max-width:920px;margin:0 auto 20px;padding:16px;background:rgba(255,255,255,0.04);border-radius:12px;border:1px solid rgba(255,255,255,0.1)}

.drawer.open{display:block}

.chap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-top:10px}

.chap-item{padding:8px 10px;background:rgba(255,255,255,0.06);border-radius:8px;font-size:12px;color:#e2e8f0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.chap-item:hover{background:rgba(236,72,153,0.28)}

@media(max-width:600px){.hero{flex-direction:column;align-items:center;text-align:center}.tags{justify-content:center}}

</style>

</head>

<body>

<header>

<div class="brand">

<span class="badge">BILIMANGA · 统一媒体库</span>

<span class="title" id="hdrTitle"></span>

</div>

<div class="controls">

<button id="btnScroll" class="active" onclick="setMode('scroll')">条漫下拉模式</button>

<button id="btnFlip" onclick="setMode('flip')">单页翻页模式</button>

<button onclick="toggleCatalog()">章节目录 (<span id="chapCount">0</span>)</button>

<button onclick="cycleLang()" id="btnLang">繁/簡/EN</button>

</div>

</header>

<section class="hero">

<img id="heroCover" src="" alt="cover">

<div class="hero-meta">

<h1 id="heroTitle"></h1>

<div class="sub" id="heroSub"></div>

<div class="tags" id="heroTags"></div>

<p class="desc" id="heroDesc"></p>

</div>

</section>

<section class="drawer" id="catDrawer">

<h3 style="font-size:14px;margin-bottom:6px">全卷章节目录 (点击切换预览章节)</h3>

<div class="chap-grid" id="chapGrid"></div>

</section>

<div class="reader-wrap scroll-mode" id="readerWrap">

<div class="flip-controls">

<button onclick="stepPage(-1)">◀ 上一页</button>

<span id="pageIndicator" style="font-size:13px;color:#cbd5e1">1 / 1</span>

<button onclick="stepPage(1)">下一页 ▶</button>

</div>

<div id="pagesContainer"></div>

</div>

<script>

const COMIC = {"slug": "bilimanga-144", "mangaid": "144", "zh_title": "英雄本色", "hant_title": "英雄本色", "en_title": "英雄本色 (Bilimanga #144)", "author": "池上辽一 / 史村翔", "tags": ["热血", "冒险", "职场", "犯罪", "职场都市", "日本漫画", "漫画", "日漫"], "zh_desc": "这是一个关于两个男人的故事,为了实现改造日本的理想,他们必需分别成为「执政首相」与「黑道教父」。光与影的故事,便从此而开始……\n\r\n「别人要奋斗30年才能得到的东西,我只要一天就可以拿到」对北条彰和浅见千秋这两个热血男儿而言,这只是实现梦想的手段罢了。为了建立他们心中的「圣堂」,他们必须分别在黑、白两道闯荡、出头;他们就如同光与影般不可分……\n\n📚 作品信息:作者 池上辽一 / 史村翔 · 评分 10 · 共收录 12 卷 / 104 话章节目录与高清彩页/条漫预览。", "hant_desc": "這是一個關於兩個男人的故事,為了實現改造日本的理想,他們必需分別成為「執政首相」與「黑道教父」。光與影的故事,便從此而開始……\n\r\n「別人要奮鬥30年才能得到的東西,我只要一天就可以拿到」對北條彰和淺見千秋這兩個熱血男兒而言,這只是實現夢想的手段罷了。為了建立他們心中的「聖堂」,他們必須分別在黑、白兩道闖蕩、出頭;他們就如同光與影般不可分……\n\n📚 作品資訊:作者 池上遼一 / 史村翔 · 評分 10 · 共收錄 12 卷 / 104 話章節目錄與高清彩頁/條漫預覽。", "en_desc": "Popular serialized manga '英雄本色' (英雄本色) by 池上辽一 / 史村翔. Includes 12 volumes and 104 chapters with full online vertical/page-flip web reader.", "pages": ["https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_01.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_02.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_03.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_04.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_05.jpg", "https://media.huangguodrama.ai/motion/comics/bilimanga-144/page_06.jpg"], "volumes": [{"title_hant": "英雄本色 1 明與暗", "title_zh": "英雄本色 1 明与暗", "cover_id": 226901, "first_chap_id": 10485, "cover_url": "https://i.motiezw.com/cover/144/226901.jpg"}, {"title_hant": "英雄本色 2 日本", "title_zh": "英雄本色 2 日本", "cover_id": 227810, "first_chap_id": 10531, "cover_url": "https://i.motiezw.com/cover/144/227810.jpg"}, {"title_hant": "英雄本色 3 稱霸", "title_zh": "英雄本色 3 称霸", "cover_id": 228035, "first_chap_id": 10541, "cover_url": "https://i.motiezw.com/cover/144/228035.jpg"}, {"title_hant": "英雄本色 4 鬥爭的序幕", "title_zh": "英雄本色 4 斗争的序幕", "cover_id": 228245, "first_chap_id": 10551, "cover_url": "https://i.motiezw.com/cover/144/228245.jpg"}, {"title_hant": "英雄本色 5 決心", "title_zh": "英雄本色 5 决心", "cover_id": 228453, "first_chap_id": 10560, "cover_url": "https://i.motiezw.com/cover/144/228453.jpg"}, {"title_hant": "英雄本色 6 斧", "title_zh": "英雄本色 6 斧", "cover_id": 228669, "first_chap_id": 10570, "cover_url": "https://i.motiezw.com/cover/144/228669.jpg"}, {"title_hant": "英雄本色 7 甦醒", "title_zh": "英雄本色 7 苏醒", "cover_id": 236401, "first_chap_id": 10854, "cover_url": "https://i.motiezw.com/cover/144/236401.jpg"}, {"title_hant": "英雄本色 8 攻守", "title_zh": "英雄本色 8 攻守", "cover_id": 236606, "first_chap_id": 10864, "cover_url": "https://i.motiezw.com/cover/144/236606.jpg"}, {"title_hant": "英雄本色 9 揭露", "title_zh": "英雄本色 9 揭露", "cover_id": 236817, "first_chap_id": 10874, "cover_url": "https://i.motiezw.com/cover/144/236817.jpg"}, {"title_hant": "英雄本色 10 離黨", "title_zh": "英雄本色 10 离党", "cover_id": 237026, "first_chap_id": 10884, "cover_url": "https://i.motiezw.com/cover/144/237026.jpg"}, {"title_hant": "英雄本色 11 新會派", "title_zh": "英雄本色 11 新会派", "cover_id": 237235, "first_chap_id": 10894, "cover_url": "https://i.motiezw.com/cover/144/237235.jpg"}, {"title_hant": "英雄本色 12 聖域", "title_zh": "英雄本色 12 圣域", "cover_id": 237449, "first_chap_id": 10904, "cover_url": "https://i.motiezw.com/cover/144/237449.jpg"}], "chapters": [{"cid": "10485", "title": "Vol. 1 聖域", "title_zh": "Vol. 1 圣域"}, {"cid": "10486", "title": "Vol. 2 組織", "title_zh": "Vol. 2 组织"}, {"cid": "10487", "title": "Vol. 3 少N", "title_zh": "Vol. 3 少N"}, {"cid": "10488", "title": "Vol. 4 反擊", "title_zh": "Vol. 4 反击"}, {"cid": "10489", "title": "Vol. 5 咬老虎", "title_zh": "Vol. 5 咬老虎"}, {"cid": "10490", "title": "Vol. 6 明與暗", "title_zh": "Vol. 6 明与暗"}, {"cid": "10491", "title": "Vol. 7 英雄", "title_zh": "Vol. 7 英雄"}, {"cid": "10492", "title": "Vol. 8 威迫", "title_zh": "Vol. 8 威迫"}, {"cid": "10493", "title": "Vol. 9 炮彈", "title_zh": "Vol. 9 炮弹"}, {"cid": "10494", "title": "Vol. 10 痛楚", "title_zh": "Vol. 10 痛楚"}, {"cid": "10531", "title": "Vol. 1 摩擦", "title_zh": "Vol. 1 摩擦"}, {"cid": "10532", "title": "Vol. 2 夢", "title_zh": "Vol. 2 梦"}, {"cid": "10533", "title": "Vol. 3 命(靈魂)", "title_zh": "Vol. 3 命(灵魂)"}, {"cid": "10534", "title": "Vol. 4 飢餓", "title_zh": "Vol. 4 饥饿"}, {"cid": "10535", "title": "Vol. 5 意志", "title_zh": "Vol. 5 意志"}, {"cid": "10536", "title": "Vol. 6 新戀長", "title_zh": "Vol. 6 新恋长"}, {"cid": "10537", "title": "Vol. 7 牙", "title_zh": "Vol. 7 牙"}, {"cid": "10538", "title": "Vol. 8 日本", "title_zh": "Vol. 8 日本"}, {"cid": "10539", "title": "Vol. 9 難民", "title_zh": "Vol. 9 难民"}, {"cid": "10541", "title": "Vol. 1 東埔寨", "title_zh": "Vol. 1 东埔寨"}, {"cid": "10542", "title": "Vol. 2 稱霸", "title_zh": "Vol. 2 称霸"}, {"cid": "10544", "title": "Vol. 4 猛拳", "title_zh": "Vol. 4 猛拳"}, {"cid": "10545", "title": "Vol. 5 開國", "title_zh": "Vol. 5 开国"}, {"cid": "10546", "title": "Vol. 6 香港", "title_zh": "Vol. 6 香港"}, {"cid": "10547", "title": "Vol. 7 共存共榮", "title_zh": "Vol. 7 共存共荣"}, {"cid": "10548", "title": "Vol. 8 皇位", "title_zh": "Vol. 8 皇位"}, {"cid": "10549", "title": "Vol. 9 解散", "title_zh": "Vol. 9 解散"}, {"cid": "10551", "title": "Vol. 1 遇刺", "title_zh": "Vol. 1 遇刺"}, {"cid": "10552", "title": "Vol. 2 門爭的序幕", "title_zh": "Vol. 2 门争的序幕"}, {"cid": "10553", "title": "Vol. 3 敵人", "title_zh": "Vol. 3 敌人"}, {"cid": "10554", "title": "Vol. 4 覺醒", "title_zh": "Vol. 4 觉醒"}, {"cid": "10555", "title": "Vol. 5 打架", "title_zh": "Vol. 5 打架"}, {"cid": "10556", "title": "Vol. 6 暗號", "title_zh": "Vol. 6 暗号"}, {"cid": "10557", "title": "Vol. 7 總理", "title_zh": "Vol. 7 总理"}, {"cid": "10558", "title": "Vol. 8 首級", "title_zh": "Vol. 8 首级"}, {"cid": "10560", "title": "Vol. 1 抗爭", "title_zh": "Vol. 1 抗争"}, {"cid": "10561", "title": "Vol. 2 實力", "title_zh": "Vol. 2 实力"}, {"cid": "10562", "title": "Vol. 3 黑幫", "title_zh": "Vol. 3 黑帮"}, {"cid": "10563", "title": "Vol. 4 回憶", "title_zh": "Vol. 4 回忆"}, {"cid": "10564", "title": "Vol. 5 終結", "title_zh": "Vol. 5 终结"}, {"cid": "10565", "title": "Vol. 6 決心", "title_zh": "Vol. 6 决心"}, {"cid": "10566", "title": "Vol. 7 目的", "title_zh": "Vol. 7 目的"}, {"cid": "10567", "title": "Vol. 8 比賽挑戰", "title_zh": "Vol. 8 比赛挑战"}, {"cid": "10570", "title": "Vol. 1 神户山王会", "title_zh": "Vol. 1 神户山王会"}, {"cid": "10571", "title": "Vol. 2 五合目", "title_zh": "Vol. 2 五合目"}, {"cid": "10572", "title": "Vol. 3 操控", "title_zh": "Vol. 3 操控"}, {"cid": "10573", "title": "Vol. 4 恩仇", "title_zh": "Vol. 4 恩仇"}, {"cid": "10574", "title": "Vol. 5 蛀蟲", "title_zh": "Vol. 5 蛀虫"}, {"cid": "10575", "title": "Vol. 6 斧", "title_zh": "Vol. 6 斧"}, {"cid": "10576", "title": "Vol. 7 约定", "title_zh": "Vol. 7 约定"}, {"cid": "10577", "title": "Vol. 8 机会", "title_zh": "Vol. 8 机会"}, {"cid": "10578", "title": "Vol. 9 结盟", "title_zh": "Vol. 9 结盟"}, {"cid": "10854", "title": "Vol.1 四六分帳", "title_zh": "Vol.1 四六分帐"}, {"cid": "10855", "title": "Vol.2 戰略", "title_zh": "Vol.2 战略"}, {"cid": "10856", "title": "Vol.3 重組", "title_zh": "Vol.3 重组"}, {"cid": "10857", "title": "Vol.4 甦醒", "title_zh": "Vol.4 苏醒"}, {"cid": "10858", "title": "Vol.5 重生", "title_zh": "Vol.5 重生"}, {"cid": "10859", "title": "Vol.6 魔手", "title_zh": "Vol.6 魔手"}, {"cid": "10860", "title": "Vol.7 志氣", "title_zh": "Vol.7 志气"}, {"cid": "10861", "title": "Vol.8 襲擊", "title_zh": "Vol.8 袭击"}]};

let lang = 'zh';

let mode = 'scroll';

let curPage = 0;

function renderMeta() {

const t = lang === 'zh' ? COMIC.zh_title : (lang === 'hant' ? COMIC.hant_title : COMIC.en_title);

const d = lang === 'zh' ? COMIC.zh_desc : (lang === 'hant' ? COMIC.hant_desc : COMIC.en_desc);

document.getElementById('hdrTitle').textContent = t;

document.getElementById('heroTitle').textContent = t;

document.getElementById('heroSub').textContent = `${COMIC.author} · 共 ${COMIC.volumes.length} 卷 / ${COMIC.chapters.length} 话`;

document.getElementById('heroDesc').textContent = d;

document.getElementById('heroCover').src = COMIC.pages[0] || '';

document.getElementById('chapCount').textContent = COMIC.chapters.length;

const tg = document.getElementById('heroTags');

tg.innerHTML = '';

(COMIC.tags || []).forEach(x => {

const s = document.createElement('span');

s.className = 'tag';

s.textContent = x;

tg.appendChild(s);

});

}

function renderCatalog() {

const g = document.getElementById('chapGrid');

g.innerHTML = '';

(COMIC.chapters || []).forEach((c, idx) => {

const d = document.createElement('div');

d.className = 'chap-item';

d.textContent = c.title_zh || c.title;

d.onclick = () => {

curPage = idx % COMIC.pages.length;

if (mode === 'flip') renderPages();

else document.querySelectorAll('.page-card')[curPage]?.scrollIntoView({behavior:'smooth'});

document.getElementById('catDrawer').classList.remove('open');

};

g.appendChild(d);

});

}

function renderPages() {

const wrap = document.getElementById('readerWrap');

wrap.className = 'reader-wrap ' + (mode === 'scroll' ? 'scroll-mode' : 'flip-mode');

const box = document.getElementById('pagesContainer');

box.innerHTML = '';

const list = mode === 'scroll' ? COMIC.pages : [COMIC.pages[curPage]];

list.forEach((url, i) => {

const idx = mode === 'scroll' ? i : curPage;

const card = document.createElement('div');

card.className = 'page-card';

card.innerHTML = `<img src="${url}" loading="lazy" alt="Page ${idx+1}"><div class="page-footer">第 ${idx+1} / ${COMIC.pages.length} 页 · ${COMIC.zh_title}</div>`;

if (mode === 'flip') card.onclick = () => stepPage(1);

box.appendChild(card);

});

document.getElementById('pageIndicator').textContent = `${curPage + 1} / ${COMIC.pages.length}`;

}

function setMode(m) {

mode = m;

document.getElementById('btnScroll').classList.toggle('active', m === 'scroll');

document.getElementById('btnFlip').classList.toggle('active', m === 'flip');

renderPages();

}

function stepPage(delta) {

curPage = (curPage + delta + COMIC.pages.length) % COMIC.pages.length;

renderPages();

}

function toggleCatalog() {

document.getElementById('catDrawer').classList.toggle('open');

}

function cycleLang() {

lang = lang === 'zh' ? 'hant' : (lang === 'hant' ? 'en' : 'zh');

renderMeta();

}

renderMeta();

renderCatalog();

renderPages();

</script>

</body>

</html>