+
+
diff --git a/src/styles/custom.css b/src/styles/custom.css
index e85be52..d7437b2 100644
--- a/src/styles/custom.css
+++ b/src/styles/custom.css
@@ -323,3 +323,45 @@ div.header {
.theme-screenshot .screenshot-dark { display: none; }
:root[data-theme="dark"] .theme-screenshot .screenshot-light { display: none; }
:root[data-theme="dark"] .theme-screenshot .screenshot-dark { display: block; }
+
+.doc-image-trigger {
+ display: block;
+ max-width: 100%;
+ padding: 0;
+ border: 0;
+ background: none;
+ cursor: zoom-in;
+}
+.doc-image-trigger img { display: block; margin: 0; }
+.doc-image-target { cursor: zoom-in; }
+.doc-image-trigger:focus-visible, .doc-image-target:focus-visible { outline: 3px solid var(--sl-color-accent-high); outline-offset: 4px; }
+#doc-image-lightbox {
+ width: 96vw;
+ max-width: 1800px;
+ height: 94dvh;
+ max-height: 94dvh;
+ padding: 1rem;
+ border: 1px solid var(--sl-color-gray-4);
+ border-radius: .75rem;
+ background: var(--sl-color-bg);
+ color: var(--sl-color-white);
+ overflow: hidden;
+}
+#doc-image-lightbox[open] { display: flex; flex-direction: column; gap: .75rem; }
+#doc-image-lightbox::backdrop { background: rgb(0 0 0 / 80%); }
+.image-lightbox-toolbar { display: flex; justify-content: flex-end; gap: .75rem; flex-shrink: 0; }
+.image-lightbox-toolbar button {
+ padding: .5rem .75rem;
+ border: 1px solid var(--sl-color-gray-4);
+ border-radius: .4rem;
+ color: inherit;
+ background: var(--sl-color-gray-6);
+ cursor: pointer;
+ font: inherit;
+}
+.image-lightbox-view { flex: 1; min-height: 0; overflow: auto; display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; }
+.image-lightbox-view img { min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; }
+#doc-image-lightbox.actual-size .image-lightbox-view { display: block; }
+#doc-image-lightbox.actual-size img { max-width: none; max-height: none; width: auto; height: auto; }
+.image-lightbox-caption { margin: 0; flex-shrink: 0; font-size: .85rem; color: var(--sl-color-gray-2); }
+html:has(#doc-image-lightbox[open]) { overflow: hidden; }