aboutsummaryrefslogtreecommitdiffstats
path: root/frontend-vanilla/src/style.css
diff options
context:
space:
mode:
Diffstat (limited to 'frontend-vanilla/src/style.css')
-rw-r--r--frontend-vanilla/src/style.css83
1 files changed, 69 insertions, 14 deletions
diff --git a/frontend-vanilla/src/style.css b/frontend-vanilla/src/style.css
index a3a7978..f724916 100644
--- a/frontend-vanilla/src/style.css
+++ b/frontend-vanilla/src/style.css
@@ -77,7 +77,8 @@ html {
/* Sidebar Header Removed */
.sidebar-search {
- margin-bottom: 2rem;
+ margin-top: 1rem;
+ margin-bottom: 1rem;
}
.sidebar-search input {
@@ -196,9 +197,9 @@ html {
opacity: 1;
}
-/* Main Content area */
+/* Main Content area - always fills full width (sidebar overlays) */
.main-content {
- flex: 1;
+ width: 100%;
min-width: 0;
overflow-y: auto;
background-color: var(--bg-color);
@@ -282,24 +283,40 @@ html {
}
}
-/* Desktop Sidebar state */
+/* CONTENT CENTERING PARAMETER:
+ * The sidebar overlays content (position: fixed) and never shifts the main content area.
+ * Content is always centered in the full viewport width.
+ * To revert to sidebar-shifts-content: remove the @media (min-width: 1025px) fixed rules below
+ * and restore "flex: 1; min-width: 0" on .main-content only.
+ */
@media (min-width: 1025px) {
- /* Desktop Sidebar state - Removed to keep toggle fixed */
+ .sidebar {
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ z-index: 1000;
+ transform: translateX(-100%);
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+ }
+
+ .sidebar-visible .sidebar {
+ transform: translateX(0);
+ box-shadow: 10px 0 20px rgba(0, 0, 0, 0.1);
+ }
+
+ .sidebar-hidden .sidebar {
+ transform: translateX(-100%);
+ }
}
/* Layout State */
.sidebar-hidden .sidebar {
- display: none;
+ display: flex;
}
-@media (min-width: 1025px) {
- .sidebar-hidden .sidebar {
- display: none;
- }
-
- .sidebar-visible .sidebar {
- display: flex;
- }
+.sidebar-visible .sidebar {
+ display: flex;
}
input[type="text"],
@@ -422,6 +439,11 @@ select:focus {
word-break: break-word;
}
+.item-description a {
+ text-decoration: none;
+ color: var(--link-color);
+}
+
.item-description img,
.item-description video,
.item-description pre {
@@ -460,6 +482,39 @@ select:focus {
--link-color: #5ac8fa;
--border-color: #333333;
--accent-color: #2188ff;
+ --sidebar-text-color: rgba(0, 0, 0, 0.87);
+}
+
+/* Dark mode: sidebar uses grey background with dark text */
+.theme-dark .sidebar {
+ background: rgba(180, 180, 180, 0.85);
+ border-right-color: rgba(0, 0, 0, 0.15);
+}
+
+.theme-dark .sidebar-section li a,
+.theme-dark .sidebar-section h3,
+.theme-dark .sidebar-footer a {
+ color: rgba(0, 0, 0, 0.87);
+}
+
+.theme-dark .sidebar-section li.active a {
+ background: rgba(0, 0, 0, 0.15);
+}
+
+.theme-dark .sidebar-section li a:hover {
+ background: rgba(0, 0, 0, 0.08);
+}
+
+/* Dark mode: sidebar-toggle button should have no background */
+.theme-dark .sidebar-toggle {
+ background: none;
+}
+
+/* Dark mode: sidebar search input should use light background */
+.theme-dark .sidebar-search input {
+ background: rgba(255, 255, 255, 0.7);
+ color: rgba(0, 0, 0, 0.87);
+ border-color: rgba(0, 0, 0, 0.2);
}
.font-serif {