diff options
Diffstat (limited to 'frontend-vanilla/src/style.css')
| -rw-r--r-- | frontend-vanilla/src/style.css | 83 |
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 { |
