2026-07-09 03:45:28 +00:00
|
|
|
|
<!doctype html>
|
|
|
|
|
|
<html lang="zh-Hant">
|
|
|
|
|
|
<head>
|
|
|
|
|
|
<meta charset="UTF-8" />
|
|
|
|
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
2026-07-10 05:10:31 +00:00
|
|
|
|
<title>巡樓 · Lapras</title>
|
|
|
|
|
|
<!-- 先套主題,避免閃白/閃黑(與 harbor.ui.prefs 同步) -->
|
|
|
|
|
|
<script>
|
|
|
|
|
|
(function () {
|
|
|
|
|
|
try {
|
|
|
|
|
|
var theme = "system";
|
|
|
|
|
|
var raw = localStorage.getItem("harbor.ui.prefs");
|
|
|
|
|
|
if (raw) {
|
|
|
|
|
|
var p = JSON.parse(raw);
|
|
|
|
|
|
if (p && (p.theme === "light" || p.theme === "dark" || p.theme === "system")) {
|
|
|
|
|
|
theme = p.theme;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
var dark =
|
|
|
|
|
|
theme === "dark" ||
|
|
|
|
|
|
(theme === "system" &&
|
|
|
|
|
|
window.matchMedia &&
|
|
|
|
|
|
window.matchMedia("(prefers-color-scheme: dark)").matches);
|
|
|
|
|
|
document.documentElement.setAttribute("data-theme", dark ? "dark" : "light");
|
|
|
|
|
|
document.documentElement.style.colorScheme = dark ? "dark" : "light";
|
|
|
|
|
|
} catch (e) {}
|
|
|
|
|
|
})();
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<!-- Inter (Latin); 中文由 Taipei Sans TC(npm)承接 -->
|
|
|
|
|
|
<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=Inter:wght@400;500;600;700&display=swap"
|
|
|
|
|
|
rel="stylesheet"
|
|
|
|
|
|
/>
|
2026-07-09 03:45:28 +00:00
|
|
|
|
</head>
|
|
|
|
|
|
<body>
|
|
|
|
|
|
<div id="root"></div>
|
|
|
|
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
|
|
|
|
</body>
|
|
|
|
|
|
</html>
|