/* Bookmarks and sidebar layout */ .bookmarks-container { background: #1a1a1a; border: 1px solid #333; border-radius: 12px; display: flex; flex-direction: column; height: 100%; overflow: hidden; text-align: left; padding: 0; } .bookmarks-container .view-mode-controls { margin-top: auto; padding: 1rem; border-top: 1px solid #333; background: transparent; border-radius: 0; } .bookmarks-container .bookmarks-list { padding: 0.5rem; overflow-y: auto; overflow-x: hidden; flex: 1; width: 100%; max-width: 100%; box-sizing: border-box; } .sidebar-header-bar { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.75rem 1rem; background: #1a1a1a; border: 1px solid #333; border-radius: 12px 12px 0 0; margin-bottom: 0; } .sidebar-header-right { display: flex; align-items: center; gap: 0.5rem; margin-left: auto; } .mobile-hamburger-btn { display: none; position: fixed; top: calc(1rem + env(safe-area-inset-top)); left: calc(1rem + env(safe-area-inset-left)); z-index: 900; background: #2a2a2a; border: 1px solid #444; border-radius: 8px; color: #ddd; width: var(--min-touch-target); height: var(--min-touch-target); align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); transition: transform 0.2s ease, opacity 0.3s ease, visibility 0.3s ease; } .mobile-hamburger-btn.hidden { opacity: 0; visibility: hidden; pointer-events: none; } .mobile-hamburger-btn.visible { opacity: 1; visibility: visible; } .mobile-hamburger-btn:active { transform: scale(0.95); } .mobile-close-btn { display: none; } @media (max-width: 768px) { .mobile-hamburger-btn { display: flex; } .sidebar-header-bar .toggle-sidebar-btn { display: none; } .mobile-close-btn { display: flex; } } .view-mode-controls { display: flex; align-items: center; justify-content: center; gap: 0.5rem; } .profile-avatar { width: 33px; height: 33px; border-radius: 6px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #2a2a2a; border: 1px solid #444; flex-shrink: 0; color: #ddd; box-sizing: border-box; } .profile-avatar img { width: 100%; height: 100%; object-fit: cover; } .profile-avatar svg { font-size: 1.25rem; } .sidebar-header-bar .toggle-sidebar-btn { background: transparent; color: #ddd; border: 1px solid #444; padding: 0; border-radius: 6px; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; width: 33px; height: 33px; flex-shrink: 0; box-sizing: border-box; } .sidebar-header-bar .toggle-sidebar-btn:hover { background: #2a2a2a; color: #fff; } .sidebar-header-bar .toggle-sidebar-btn:active { transform: translateY(1px); } .bookmarks-container.collapsed { display: flex; align-items: flex-start; justify-content: flex-start; padding: 0; background: transparent; border: none; } .bookmarks-container.collapsed .toggle-sidebar-btn { background: #2a2a2a; color: #ddd; border: none; padding: 0; border-radius: 0; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; width: 48px; height: 36px; flex-shrink: 0; } .bookmarks-container.collapsed .toggle-sidebar-btn:hover { background: #333; color: #fff; } .bookmarks-container.collapsed .toggle-sidebar-btn:active { transform: translateY(1px); } .bookmarks-container.collapsed .toggle-sidebar-btn.with-icon { width: auto; padding: 0 0.5rem; gap: 0.5rem; } .bookmarks-container.collapsed .toggle-sidebar-btn .glow-blue { color: #646cff; filter: drop-shadow(0 0 4px rgba(100, 108, 255, 0.6)); } .user-info { margin: 0.5rem 0 0 0; color: #888; font-size: 0.9rem; font-family: monospace; } .bookmark-count { color: #666; font-size: 0.9rem; margin: 0.5rem 0; } .event-link { color: #8ab4f8; text-decoration: none; font-weight: 500; } .event-link:hover { text-decoration: underline; } .bookmark-urls { margin: 0.75rem 0; } .bookmark-url { display: block; margin: 0.25rem 0; color: #007bff; text-decoration: none; word-break: break-all; background: none; border: none; padding: 0; font: inherit; cursor: pointer; text-align: left; width: 100%; } .bookmark-url:hover { text-decoration: underline; } .url-row { display: flex; align-items: center; gap: 0.5rem; } .read-inline-btn { background: #28a745; color: white; border: none; padding: 0.25rem 0.5rem; border-radius: 4px; cursor: pointer; } .read-inline-btn:hover { background: #218838; }