@knowcode/doc-builder 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/html/README.html +34 -149
- package/html/css/notion-style.css +13 -394
- package/html/documentation-index.html +17 -127
- package/html/guides/authentication-default-change.html +8 -130
- package/html/guides/authentication-guide.html +20 -141
- package/html/guides/claude-workflow-guide.html +23 -137
- package/html/guides/documentation-standards.html +12 -133
- package/html/guides/image-modal-guide.html +381 -0
- package/html/guides/phosphor-icons-guide.html +28 -150
- package/html/guides/private-directory-authentication.html +8 -130
- package/html/guides/public-site-deployment.html +8 -130
- package/html/guides/search-engine-verification-guide.html +8 -130
- package/html/guides/seo-guide.html +8 -130
- package/html/guides/seo-optimization-guide.html +39 -159
- package/html/guides/troubleshooting-guide.html +20 -141
- package/html/guides/windows-setup-guide.html +39 -161
- package/html/image-modal-test.html +9 -125
- package/html/index.html +34 -149
- package/html/js/auth.js +39 -118
- package/html/js/main.js +25 -259
- package/html/private/cache-control-anti-pattern.html +13 -135
- package/html/private/launch/README.html +16 -144
- package/html/private/launch/auth-cleanup-summary.html +25 -153
- package/html/private/launch/bubble-plugin-specification.html +8 -136
- package/html/private/launch/go-to-market-strategy.html +10 -138
- package/html/private/launch/launch-announcements.html +24 -151
- package/html/private/launch/vercel-deployment-auth-setup.html +10 -138
- package/html/private/next-steps-walkthrough.html +15 -137
- package/html/private/supabase-auth-implementation-completed.html +22 -143
- package/html/private/supabase-auth-implementation-plan.html +15 -136
- package/html/private/supabase-auth-integration-plan.html +22 -142
- package/html/private/supabase-auth-setup-guide.html +17 -139
- package/html/private/test-private-doc.html +8 -130
- package/html/private/user-management-tooling.html +8 -130
- package/html/prompts/markdown-document-standards.html +13 -134
- package/html/vercel-cli-setup-guide.html +12 -128
- package/html/vercel-first-time-setup-guide.html +9 -125
- package/lib/emoji-mapper.js +12 -0
- package/package.json +1 -1
|
@@ -289,8 +289,7 @@ pre code {
|
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
-
.logout-btn
|
|
293
|
-
.auth-btn {
|
|
292
|
+
.logout-btn {
|
|
294
293
|
background: none;
|
|
295
294
|
border: none;
|
|
296
295
|
font-size: var(--text-lg);
|
|
@@ -313,13 +312,6 @@ pre code {
|
|
|
313
312
|
transform: translateY(-1px);
|
|
314
313
|
}
|
|
315
314
|
|
|
316
|
-
.auth-btn:hover {
|
|
317
|
-
background: var(--color-bg-tertiary);
|
|
318
|
-
opacity: 1;
|
|
319
|
-
color: var(--color-text-primary);
|
|
320
|
-
transform: translateY(-1px);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
315
|
/* Sidebar */
|
|
324
316
|
.sidebar {
|
|
325
317
|
position: relative;
|
|
@@ -327,7 +319,7 @@ pre code {
|
|
|
327
319
|
background: var(--color-bg-secondary);
|
|
328
320
|
border-right: 1px solid var(--color-border-default);
|
|
329
321
|
overflow: hidden;
|
|
330
|
-
transition: width var(--duration-normal)
|
|
322
|
+
transition: width var(--duration-normal);
|
|
331
323
|
min-width: 200px;
|
|
332
324
|
max-width: 500px;
|
|
333
325
|
user-select: none;
|
|
@@ -338,14 +330,6 @@ pre code {
|
|
|
338
330
|
height: 100%;
|
|
339
331
|
}
|
|
340
332
|
|
|
341
|
-
/* Desktop sidebar closed state */
|
|
342
|
-
@media (min-width: 769px) {
|
|
343
|
-
.sidebar.closed {
|
|
344
|
-
transform: translateX(-100%);
|
|
345
|
-
margin-left: calc(var(--sidebar-width) * -1);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
|
|
349
333
|
/* Banner adjustment no longer needed with relative positioning */
|
|
350
334
|
|
|
351
335
|
|
|
@@ -698,65 +682,12 @@ th {
|
|
|
698
682
|
background: var(--color-bg-secondary);
|
|
699
683
|
border-bottom: 1px solid var(--color-border-default);
|
|
700
684
|
color: var(--color-text-primary);
|
|
701
|
-
vertical-align: top !important;
|
|
702
685
|
}
|
|
703
686
|
|
|
704
687
|
td {
|
|
705
688
|
padding: var(--space-3) var(--space-4);
|
|
706
689
|
border-bottom: 1px solid var(--color-border-default);
|
|
707
690
|
color: var(--color-text-primary);
|
|
708
|
-
vertical-align: top !important;
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
/* Ensure all table cell content is top-aligned */
|
|
712
|
-
table th,
|
|
713
|
-
table td {
|
|
714
|
-
vertical-align: top !important;
|
|
715
|
-
}
|
|
716
|
-
|
|
717
|
-
/* Ensure nested elements in table cells don't affect alignment */
|
|
718
|
-
table td > *,
|
|
719
|
-
table th > * {
|
|
720
|
-
vertical-align: top;
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
/* Remove top margin from first element in table cells */
|
|
724
|
-
td > *:first-child,
|
|
725
|
-
th > *:first-child {
|
|
726
|
-
margin-top: 0 !important;
|
|
727
|
-
}
|
|
728
|
-
|
|
729
|
-
/* Remove bottom margin from last element in table cells */
|
|
730
|
-
td > *:last-child,
|
|
731
|
-
th > *:last-child {
|
|
732
|
-
margin-bottom: 0 !important;
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
/* Specifically target common block elements that might be first in cells */
|
|
736
|
-
td > h1:first-child,
|
|
737
|
-
td > h2:first-child,
|
|
738
|
-
td > h3:first-child,
|
|
739
|
-
td > h4:first-child,
|
|
740
|
-
td > h5:first-child,
|
|
741
|
-
td > h6:first-child,
|
|
742
|
-
td > p:first-child,
|
|
743
|
-
td > ul:first-child,
|
|
744
|
-
td > ol:first-child,
|
|
745
|
-
td > blockquote:first-child,
|
|
746
|
-
td > pre:first-child,
|
|
747
|
-
th > h1:first-child,
|
|
748
|
-
th > h2:first-child,
|
|
749
|
-
th > h3:first-child,
|
|
750
|
-
th > h4:first-child,
|
|
751
|
-
th > h5:first-child,
|
|
752
|
-
th > h6:first-child,
|
|
753
|
-
th > p:first-child,
|
|
754
|
-
th > ul:first-child,
|
|
755
|
-
th > ol:first-child,
|
|
756
|
-
th > blockquote:first-child,
|
|
757
|
-
th > pre:first-child {
|
|
758
|
-
margin-top: 0 !important;
|
|
759
|
-
padding-top: 0 !important;
|
|
760
691
|
}
|
|
761
692
|
|
|
762
693
|
tr:last-child td {
|
|
@@ -1011,20 +942,6 @@ tr:hover {
|
|
|
1011
942
|
cursor: pointer;
|
|
1012
943
|
color: var(--color-text-primary);
|
|
1013
944
|
padding: var(--space-2);
|
|
1014
|
-
border-radius: var(--radius-small);
|
|
1015
|
-
transition: all var(--duration-fast) var(--easing-out);
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
.menu-toggle:hover {
|
|
1019
|
-
background: var(--color-bg-secondary);
|
|
1020
|
-
color: var(--color-text-primary);
|
|
1021
|
-
}
|
|
1022
|
-
|
|
1023
|
-
/* Show menu toggle on desktop when menu starts closed or is closed */
|
|
1024
|
-
@media (min-width: 769px) {
|
|
1025
|
-
body.menu-starts-closed .menu-toggle {
|
|
1026
|
-
display: block;
|
|
1027
|
-
}
|
|
1028
945
|
}
|
|
1029
946
|
|
|
1030
947
|
/* Responsive Design */
|
|
@@ -1037,39 +954,19 @@ tr:hover {
|
|
|
1037
954
|
|
|
1038
955
|
/* Hide sidebar on mobile */
|
|
1039
956
|
.sidebar {
|
|
1040
|
-
position:
|
|
957
|
+
position: absolute;
|
|
1041
958
|
top: calc(var(--header-height) + var(--breadcrumb-height));
|
|
1042
959
|
left: 0;
|
|
1043
960
|
height: calc(100vh - var(--header-height) - var(--breadcrumb-height));
|
|
1044
|
-
z-index:
|
|
961
|
+
z-index: 999;
|
|
1045
962
|
transform: translateX(-100%);
|
|
1046
963
|
transition: transform var(--duration-normal) var(--easing-out);
|
|
1047
|
-
box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15); /* Add shadow for depth */
|
|
1048
964
|
}
|
|
1049
965
|
|
|
1050
966
|
.sidebar.open {
|
|
1051
967
|
transform: translateX(0);
|
|
1052
968
|
}
|
|
1053
969
|
|
|
1054
|
-
/* Mobile menu overlay */
|
|
1055
|
-
.sidebar-overlay {
|
|
1056
|
-
display: none;
|
|
1057
|
-
position: fixed;
|
|
1058
|
-
top: 0;
|
|
1059
|
-
left: 0;
|
|
1060
|
-
right: 0;
|
|
1061
|
-
bottom: 0;
|
|
1062
|
-
background: rgba(0, 0, 0, 0.5);
|
|
1063
|
-
z-index: 1001; /* Below sidebar but above content */
|
|
1064
|
-
opacity: 0;
|
|
1065
|
-
transition: opacity var(--duration-normal);
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
.sidebar-overlay.active {
|
|
1069
|
-
display: block;
|
|
1070
|
-
opacity: 1;
|
|
1071
|
-
}
|
|
1072
|
-
|
|
1073
970
|
.main-wrapper {
|
|
1074
971
|
margin-left: 0;
|
|
1075
972
|
margin-top: var(--header-height); /* Only account for fixed header on mobile */
|
|
@@ -1077,7 +974,7 @@ tr:hover {
|
|
|
1077
974
|
|
|
1078
975
|
.content {
|
|
1079
976
|
margin-left: 0;
|
|
1080
|
-
padding: var(--space-
|
|
977
|
+
padding: var(--space-6) var(--space-4);
|
|
1081
978
|
}
|
|
1082
979
|
|
|
1083
980
|
.menu-toggle {
|
|
@@ -1091,13 +988,13 @@ tr:hover {
|
|
|
1091
988
|
padding: var(--space-4);
|
|
1092
989
|
border-radius: var(--radius-lg);
|
|
1093
990
|
overflow-x: auto;
|
|
1094
|
-
margin: var(--space-
|
|
991
|
+
margin: var(--space-4) 0;
|
|
1095
992
|
}
|
|
1096
993
|
|
|
1097
994
|
/* Mermaid Full Screen Viewer */
|
|
1098
995
|
.mermaid-container {
|
|
1099
996
|
position: relative;
|
|
1100
|
-
margin: var(--space-
|
|
997
|
+
margin: var(--space-6) 0;
|
|
1101
998
|
border: 1px solid var(--color-border-default);
|
|
1102
999
|
border-radius: var(--radius-lg);
|
|
1103
1000
|
overflow: hidden;
|
|
@@ -1159,7 +1056,7 @@ tr:hover {
|
|
|
1159
1056
|
}
|
|
1160
1057
|
|
|
1161
1058
|
.mermaid-wrapper {
|
|
1162
|
-
padding: var(--space-
|
|
1059
|
+
padding: var(--space-6);
|
|
1163
1060
|
overflow: auto;
|
|
1164
1061
|
max-height: 600px;
|
|
1165
1062
|
}
|
|
@@ -1681,62 +1578,6 @@ tr:hover {
|
|
|
1681
1578
|
|
|
1682
1579
|
/* Remove custom positioning variables - tooltips always go right */
|
|
1683
1580
|
|
|
1684
|
-
/* Floating Menu Button */
|
|
1685
|
-
.floating-menu-toggle {
|
|
1686
|
-
position: fixed;
|
|
1687
|
-
bottom: var(--space-6);
|
|
1688
|
-
right: var(--space-6);
|
|
1689
|
-
width: 56px;
|
|
1690
|
-
height: 56px;
|
|
1691
|
-
border-radius: 50%;
|
|
1692
|
-
background: var(--color-accent-blue);
|
|
1693
|
-
color: white;
|
|
1694
|
-
border: none;
|
|
1695
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
1696
|
-
display: flex;
|
|
1697
|
-
align-items: center;
|
|
1698
|
-
justify-content: center;
|
|
1699
|
-
font-size: 1.25rem;
|
|
1700
|
-
cursor: pointer;
|
|
1701
|
-
z-index: 1001; /* Above sidebar */
|
|
1702
|
-
opacity: 0;
|
|
1703
|
-
transform: scale(0.8) translateY(20px);
|
|
1704
|
-
transition: all var(--duration-normal) var(--easing-out);
|
|
1705
|
-
-webkit-tap-highlight-color: transparent;
|
|
1706
|
-
}
|
|
1707
|
-
|
|
1708
|
-
.floating-menu-toggle.visible {
|
|
1709
|
-
opacity: 1;
|
|
1710
|
-
transform: scale(1) translateY(0);
|
|
1711
|
-
}
|
|
1712
|
-
|
|
1713
|
-
.floating-menu-toggle:hover {
|
|
1714
|
-
transform: scale(1.1) translateY(0);
|
|
1715
|
-
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 3px 6px rgba(0, 0, 0, 0.15);
|
|
1716
|
-
}
|
|
1717
|
-
|
|
1718
|
-
.floating-menu-toggle:active {
|
|
1719
|
-
transform: scale(0.95) translateY(0);
|
|
1720
|
-
}
|
|
1721
|
-
|
|
1722
|
-
.floating-menu-toggle i {
|
|
1723
|
-
transition: transform var(--duration-fast) var(--easing-out);
|
|
1724
|
-
}
|
|
1725
|
-
|
|
1726
|
-
.floating-menu-toggle:hover i {
|
|
1727
|
-
transform: rotate(90deg);
|
|
1728
|
-
}
|
|
1729
|
-
|
|
1730
|
-
/* Dark mode styles for floating button */
|
|
1731
|
-
.dark-mode .floating-menu-toggle {
|
|
1732
|
-
background: var(--color-accent-blue);
|
|
1733
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
1734
|
-
}
|
|
1735
|
-
|
|
1736
|
-
.dark-mode .floating-menu-toggle:hover {
|
|
1737
|
-
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4), 0 3px 6px rgba(0, 0, 0, 0.3);
|
|
1738
|
-
}
|
|
1739
|
-
|
|
1740
1581
|
/* Mobile adjustments */
|
|
1741
1582
|
@media (max-width: 768px) {
|
|
1742
1583
|
/* Disable tooltips on mobile to prevent overlap issues */
|
|
@@ -1755,7 +1596,7 @@ tr:hover {
|
|
|
1755
1596
|
/* Sidebar positioning handled in earlier media query */
|
|
1756
1597
|
|
|
1757
1598
|
.content {
|
|
1758
|
-
padding: var(--space-
|
|
1599
|
+
padding: var(--space-4);
|
|
1759
1600
|
}
|
|
1760
1601
|
|
|
1761
1602
|
.content-inner {
|
|
@@ -1768,7 +1609,10 @@ tr:hover {
|
|
|
1768
1609
|
padding: 0 var(--space-4);
|
|
1769
1610
|
}
|
|
1770
1611
|
|
|
1771
|
-
|
|
1612
|
+
.preview-banner {
|
|
1613
|
+
position: relative;
|
|
1614
|
+
top: 0;
|
|
1615
|
+
}
|
|
1772
1616
|
|
|
1773
1617
|
/* Keep breadcrumbs fixed on mobile to prevent double spacing */
|
|
1774
1618
|
}
|
|
@@ -1983,229 +1827,4 @@ tr:hover {
|
|
|
1983
1827
|
background: #451a1a;
|
|
1984
1828
|
border-color: #7f1d1d;
|
|
1985
1829
|
color: #fca5a5;
|
|
1986
|
-
}
|
|
1987
|
-
|
|
1988
|
-
/* Phosphor Icons Alignment */
|
|
1989
|
-
.ph {
|
|
1990
|
-
display: inline-block;
|
|
1991
|
-
vertical-align: middle;
|
|
1992
|
-
line-height: 1;
|
|
1993
|
-
position: relative;
|
|
1994
|
-
top: -0.05em; /* Slight upward adjustment for better baseline alignment */
|
|
1995
|
-
}
|
|
1996
|
-
|
|
1997
|
-
/* Ensure icons in headings are properly aligned */
|
|
1998
|
-
h1 .ph, h2 .ph, h3 .ph, h4 .ph, h5 .ph, h6 .ph {
|
|
1999
|
-
font-size: 0.85em; /* Slightly smaller in headings */
|
|
2000
|
-
line-height: 1;
|
|
2001
|
-
top: -0.05em;
|
|
2002
|
-
}
|
|
2003
|
-
|
|
2004
|
-
/* Icons in lists need special handling */
|
|
2005
|
-
li .ph {
|
|
2006
|
-
margin-right: 0.3em;
|
|
2007
|
-
font-size: 1.1em;
|
|
2008
|
-
line-height: 1;
|
|
2009
|
-
vertical-align: middle;
|
|
2010
|
-
top: -0.05em;
|
|
2011
|
-
}
|
|
2012
|
-
|
|
2013
|
-
/* Icons in tables */
|
|
2014
|
-
td .ph, th .ph {
|
|
2015
|
-
line-height: 1;
|
|
2016
|
-
vertical-align: middle;
|
|
2017
|
-
top: -0.05em;
|
|
2018
|
-
}
|
|
2019
|
-
|
|
2020
|
-
/* Icons in navigation */
|
|
2021
|
-
.nav-item .ph,
|
|
2022
|
-
.nav-title .ph {
|
|
2023
|
-
vertical-align: middle;
|
|
2024
|
-
line-height: 1;
|
|
2025
|
-
top: 0; /* Navigation items are flex, so no adjustment needed */
|
|
2026
|
-
}
|
|
2027
|
-
|
|
2028
|
-
/* Icon size adjustments for better visual balance */
|
|
2029
|
-
.content p .ph {
|
|
2030
|
-
font-size: 1.1em; /* Slightly larger than text for visual balance */
|
|
2031
|
-
}
|
|
2032
|
-
|
|
2033
|
-
/* Special handling for inline code with icons */
|
|
2034
|
-
code .ph {
|
|
2035
|
-
font-size: 0.9em;
|
|
2036
|
-
vertical-align: middle;
|
|
2037
|
-
line-height: 1;
|
|
2038
|
-
top: 0;
|
|
2039
|
-
}
|
|
2040
|
-
|
|
2041
|
-
/* Additional fine-tuning for specific contexts */
|
|
2042
|
-
.content-inner .ph {
|
|
2043
|
-
/* Remove the transform as we're now using consistent vertical-align: middle */
|
|
2044
|
-
}
|
|
2045
|
-
|
|
2046
|
-
/* ============================================================================
|
|
2047
|
-
Private Navigation Visibility
|
|
2048
|
-
============================================================================ */
|
|
2049
|
-
|
|
2050
|
-
/* Hide private navigation sections by default */
|
|
2051
|
-
.private-nav {
|
|
2052
|
-
display: none;
|
|
2053
|
-
}
|
|
2054
|
-
|
|
2055
|
-
/* Show private navigation when user is authenticated */
|
|
2056
|
-
body.authenticated .private-nav {
|
|
2057
|
-
display: block;
|
|
2058
|
-
}
|
|
2059
|
-
|
|
2060
|
-
/* Smooth transition for authentication state changes */
|
|
2061
|
-
.nav-section {
|
|
2062
|
-
transition: opacity 0.2s ease-in-out;
|
|
2063
|
-
}
|
|
2064
|
-
|
|
2065
|
-
/* Optional: Add a lock icon to private sections */
|
|
2066
|
-
.private-nav .nav-title::after {
|
|
2067
|
-
content: ' 🔒';
|
|
2068
|
-
font-size: 0.8em;
|
|
2069
|
-
}
|
|
2070
|
-
|
|
2071
|
-
/* ============================================================================
|
|
2072
|
-
Image Modal System
|
|
2073
|
-
============================================================================ */
|
|
2074
|
-
|
|
2075
|
-
/* Style all content images to be clickable */
|
|
2076
|
-
.content img {
|
|
2077
|
-
cursor: pointer;
|
|
2078
|
-
transition: all var(--duration-normal) var(--easing-out);
|
|
2079
|
-
border-radius: var(--radius-md);
|
|
2080
|
-
max-width: 100%;
|
|
2081
|
-
height: auto;
|
|
2082
|
-
}
|
|
2083
|
-
|
|
2084
|
-
.content img:hover {
|
|
2085
|
-
opacity: 0.9;
|
|
2086
|
-
transform: scale(1.02);
|
|
2087
|
-
box-shadow: var(--shadow-lg);
|
|
2088
|
-
}
|
|
2089
|
-
|
|
2090
|
-
/* Modal overlay - hidden by default */
|
|
2091
|
-
.image-modal {
|
|
2092
|
-
display: none;
|
|
2093
|
-
position: fixed;
|
|
2094
|
-
top: 0;
|
|
2095
|
-
left: 0;
|
|
2096
|
-
width: 100%;
|
|
2097
|
-
height: 100%;
|
|
2098
|
-
background: rgba(0, 0, 0, 0.9);
|
|
2099
|
-
z-index: 10000;
|
|
2100
|
-
cursor: pointer;
|
|
2101
|
-
opacity: 0;
|
|
2102
|
-
transition: opacity var(--duration-normal) var(--easing-out);
|
|
2103
|
-
}
|
|
2104
|
-
|
|
2105
|
-
/* Show modal when active */
|
|
2106
|
-
.image-modal.active {
|
|
2107
|
-
display: flex;
|
|
2108
|
-
align-items: center;
|
|
2109
|
-
justify-content: center;
|
|
2110
|
-
opacity: 1;
|
|
2111
|
-
}
|
|
2112
|
-
|
|
2113
|
-
/* Modal content container */
|
|
2114
|
-
.image-modal-content {
|
|
2115
|
-
position: relative;
|
|
2116
|
-
max-width: 95%;
|
|
2117
|
-
max-height: 95%;
|
|
2118
|
-
margin: auto;
|
|
2119
|
-
cursor: default;
|
|
2120
|
-
}
|
|
2121
|
-
|
|
2122
|
-
/* Modal image */
|
|
2123
|
-
.image-modal-img {
|
|
2124
|
-
width: auto;
|
|
2125
|
-
height: auto;
|
|
2126
|
-
max-width: 100%;
|
|
2127
|
-
max-height: 100vh;
|
|
2128
|
-
border-radius: var(--radius-lg);
|
|
2129
|
-
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
|
|
2130
|
-
cursor: default;
|
|
2131
|
-
}
|
|
2132
|
-
|
|
2133
|
-
/* Close button */
|
|
2134
|
-
.image-modal-close {
|
|
2135
|
-
position: absolute;
|
|
2136
|
-
top: -50px;
|
|
2137
|
-
right: 0;
|
|
2138
|
-
background: rgba(255, 255, 255, 0.1);
|
|
2139
|
-
border: 2px solid rgba(255, 255, 255, 0.3);
|
|
2140
|
-
color: white;
|
|
2141
|
-
width: 40px;
|
|
2142
|
-
height: 40px;
|
|
2143
|
-
border-radius: 50%;
|
|
2144
|
-
cursor: pointer;
|
|
2145
|
-
display: flex;
|
|
2146
|
-
align-items: center;
|
|
2147
|
-
justify-content: center;
|
|
2148
|
-
font-size: 20px;
|
|
2149
|
-
font-weight: bold;
|
|
2150
|
-
transition: all var(--duration-fast) var(--easing-out);
|
|
2151
|
-
backdrop-filter: blur(10px);
|
|
2152
|
-
}
|
|
2153
|
-
|
|
2154
|
-
.image-modal-close:hover {
|
|
2155
|
-
background: rgba(255, 255, 255, 0.2);
|
|
2156
|
-
border-color: rgba(255, 255, 255, 0.5);
|
|
2157
|
-
transform: scale(1.1);
|
|
2158
|
-
}
|
|
2159
|
-
|
|
2160
|
-
/* Image caption in modal */
|
|
2161
|
-
.image-modal-caption {
|
|
2162
|
-
position: absolute;
|
|
2163
|
-
bottom: -50px;
|
|
2164
|
-
left: 0;
|
|
2165
|
-
right: 0;
|
|
2166
|
-
background: rgba(0, 0, 0, 0.7);
|
|
2167
|
-
color: white;
|
|
2168
|
-
padding: var(--space-3) var(--space-4);
|
|
2169
|
-
border-radius: var(--radius-md);
|
|
2170
|
-
font-size: var(--text-sm);
|
|
2171
|
-
text-align: center;
|
|
2172
|
-
backdrop-filter: blur(10px);
|
|
2173
|
-
}
|
|
2174
|
-
|
|
2175
|
-
/* Dark theme adjustments */
|
|
2176
|
-
[data-theme="dark"] .image-modal {
|
|
2177
|
-
background: rgba(0, 0, 0, 0.95);
|
|
2178
|
-
}
|
|
2179
|
-
|
|
2180
|
-
[data-theme="dark"] .image-modal-close {
|
|
2181
|
-
background: rgba(255, 255, 255, 0.15);
|
|
2182
|
-
border-color: rgba(255, 255, 255, 0.4);
|
|
2183
|
-
}
|
|
2184
|
-
|
|
2185
|
-
[data-theme="dark"] .image-modal-close:hover {
|
|
2186
|
-
background: rgba(255, 255, 255, 0.25);
|
|
2187
|
-
border-color: rgba(255, 255, 255, 0.6);
|
|
2188
|
-
}
|
|
2189
|
-
|
|
2190
|
-
/* Mobile responsive adjustments */
|
|
2191
|
-
@media (max-width: 768px) {
|
|
2192
|
-
.image-modal-content {
|
|
2193
|
-
max-width: 98%;
|
|
2194
|
-
max-height: 98%;
|
|
2195
|
-
}
|
|
2196
|
-
|
|
2197
|
-
.image-modal-close {
|
|
2198
|
-
top: -40px;
|
|
2199
|
-
width: 35px;
|
|
2200
|
-
height: 35px;
|
|
2201
|
-
font-size: 18px;
|
|
2202
|
-
}
|
|
2203
|
-
|
|
2204
|
-
.image-modal-caption {
|
|
2205
|
-
bottom: -40px;
|
|
2206
|
-
font-size: var(--text-xs);
|
|
2207
|
-
padding: var(--space-2) var(--space-3);
|
|
2208
|
-
}
|
|
2209
|
-
}
|
|
2210
|
-
opacity: 0.6;
|
|
2211
1830
|
}
|