diff --git a/examples/app_hub/assets/hub-logo-fragment-globe.svg b/examples/app_hub/assets/hub-logo-fragment-globe.svg
new file mode 100644
index 0000000..a40e620
--- /dev/null
+++ b/examples/app_hub/assets/hub-logo-fragment-globe.svg
@@ -0,0 +1,38 @@
+
diff --git a/examples/app_hub/assets/hub-logo-fragment-rocket.svg b/examples/app_hub/assets/hub-logo-fragment-rocket.svg
new file mode 100644
index 0000000..dea023b
--- /dev/null
+++ b/examples/app_hub/assets/hub-logo-fragment-rocket.svg
@@ -0,0 +1,40 @@
+
diff --git a/examples/app_hub/assets/hub-logo-fragment-space.svg b/examples/app_hub/assets/hub-logo-fragment-space.svg
new file mode 100644
index 0000000..e9df45b
--- /dev/null
+++ b/examples/app_hub/assets/hub-logo-fragment-space.svg
@@ -0,0 +1,28 @@
+
diff --git a/examples/app_hub/assets/hub-logo-fragment-tail.svg b/examples/app_hub/assets/hub-logo-fragment-tail.svg
new file mode 100644
index 0000000..edf0691
--- /dev/null
+++ b/examples/app_hub/assets/hub-logo-fragment-tail.svg
@@ -0,0 +1,22 @@
+
diff --git a/examples/app_hub/assets/hub-logo-space-bg.png b/examples/app_hub/assets/hub-logo-space-bg.png
new file mode 100644
index 0000000..e3ffa4c
Binary files /dev/null and b/examples/app_hub/assets/hub-logo-space-bg.png differ
diff --git a/examples/app_hub/assets/hub-logo-space-bg.svg b/examples/app_hub/assets/hub-logo-space-bg.svg
new file mode 100644
index 0000000..25c6f14
--- /dev/null
+++ b/examples/app_hub/assets/hub-logo-space-bg.svg
@@ -0,0 +1,441 @@
+
diff --git a/examples/app_hub/assets/hub-logo-transparent.png b/examples/app_hub/assets/hub-logo-transparent.png
new file mode 100644
index 0000000..902a6d4
Binary files /dev/null and b/examples/app_hub/assets/hub-logo-transparent.png differ
diff --git a/examples/app_hub/assets/hub-logo-transparent.svg b/examples/app_hub/assets/hub-logo-transparent.svg
new file mode 100644
index 0000000..d760584
--- /dev/null
+++ b/examples/app_hub/assets/hub-logo-transparent.svg
@@ -0,0 +1,206 @@
+
diff --git a/examples/app_hub/hub-logo-layers.css b/examples/app_hub/hub-logo-layers.css
new file mode 100644
index 0000000..c646c85
--- /dev/null
+++ b/examples/app_hub/hub-logo-layers.css
@@ -0,0 +1,44 @@
+/* Progressive logo loader (on-demand, fragment-friendly) */
+.hub-page::before {
+ content: none;
+}
+
+.hub-page.logo-enabled::before {
+ content: "";
+ position: fixed;
+ inset: 0;
+ z-index: 0;
+ pointer-events: none;
+ background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
+ background-position: center center, center center, center center, center center;
+ background-size: cover, cover, cover, cover;
+ background-image: var(--hub-layer-space, none), var(--hub-layer-globe, none), var(--hub-layer-tail, none), var(--hub-layer-rocket, none);
+ opacity: 0.75;
+}
+
+[data-theme="light"] .hub-page.logo-enabled::before {
+ opacity: 0.75;
+}
+
+.hub-page.logo-full {
+ --hub-layer-space: url("assets/hub-logo-fragment-space.svg");
+ --hub-layer-globe: url("assets/hub-logo-fragment-globe.svg");
+ --hub-layer-tail: url("assets/hub-logo-fragment-tail.svg");
+ --hub-layer-rocket: url("assets/hub-logo-fragment-rocket.svg");
+}
+
+.hub-page.logo-space {
+ --hub-layer-space: url("assets/hub-logo-fragment-space.svg");
+}
+
+.hub-page.logo-globe {
+ --hub-layer-globe: url("assets/hub-logo-fragment-globe.svg");
+}
+
+.hub-page.logo-tail {
+ --hub-layer-tail: url("assets/hub-logo-fragment-tail.svg");
+}
+
+.hub-page.logo-rocket {
+ --hub-layer-rocket: url("assets/hub-logo-fragment-rocket.svg");
+}
diff --git a/examples/app_hub/hub.css b/examples/app_hub/hub.css
index d872c58..e69db9b 100644
--- a/examples/app_hub/hub.css
+++ b/examples/app_hub/hub.css
@@ -8,19 +8,9 @@
isolation: isolate;
}
-/* Debug watermark visibility */
+/* Logo background is loaded progressively by hub-logo-layers.css when supported. */
.hub-page::before {
- content: "";
- position: fixed;
- inset: 0;
- z-index: 0;
- pointer-events: none;
- background: url("assets/hub-logo.svg") center center / cover no-repeat;
- opacity: 0.75;
-}
-
-[data-theme="light"] .hub-page::before {
- opacity: 0.75;
+ content: none;
}
.hub-shell {
diff --git a/examples/app_hub/index.html b/examples/app_hub/index.html
index 7465ce7..2fc1bea 100644
--- a/examples/app_hub/index.html
+++ b/examples/app_hub/index.html
@@ -18,7 +18,7 @@