*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #0f0f0f; color: #e0e0e0; line-height: 1.5; } .container { max-width: 700px; margin: 2rem auto; padding: 0 1rem; } h1 { font-size: 1.5rem; margin-bottom: 1.5rem; color: #fff; } /* Form */ .bookmark-form { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; } .bookmark-form input { flex: 1; padding: 0.5rem 0.75rem; border: 1px solid #333; border-radius: 6px; background: #1a1a1a; color: #e0e0e0; font-size: 0.875rem; } .bookmark-form input:focus { outline: none; border-color: #555; } .bookmark-form input::placeholder { color: #666; } /* Buttons */ button { padding: 0.5rem 1rem; border: none; border-radius: 6px; cursor: pointer; font-size: 0.875rem; transition: background 0.15s; } .btn-add { background: #2563eb; color: #fff; } .btn-add:hover { background: #1d4ed8; } .btn-categorize { background: #1a1a1a; color: #a0a0a0; border: 1px solid #333; margin-bottom: 1rem; } .btn-categorize:hover { background: #252525; color: #fff; } .btn-delete { background: none; color: #555; padding: 0.25rem 0.5rem; font-size: 0.75rem; } .btn-delete:hover { color: #ef4444; } /* Category bar */ .category-bar { display: flex; gap: 0.375rem; margin-bottom: 1rem; flex-wrap: wrap; } .category-pill { padding: 0.25rem 0.75rem; border-radius: 999px; background: #1a1a1a; color: #888; border: 1px solid #282828; font-size: 0.75rem; cursor: pointer; } .category-pill:hover { color: #ccc; border-color: #444; } .category-pill.active { background: #2563eb; color: #fff; border-color: #2563eb; } /* Bookmark list */ .bookmark-item { display: flex; align-items: center; justify-content: space-between; padding: 0.625rem 0; border-bottom: 1px solid #1a1a1a; } .bookmark-info { min-width: 0; flex: 1; } .bookmark-title { color: #60a5fa; text-decoration: none; font-size: 0.875rem; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .bookmark-title:hover { text-decoration: underline; } .bookmark-meta { font-size: 0.7rem; color: #555; margin-top: 0.125rem; } .bookmark-category { color: #888; background: #1a1a1a; padding: 0.1rem 0.4rem; border-radius: 4px; font-size: 0.65rem; } .empty { color: #555; font-size: 0.875rem; padding: 2rem 0; text-align: center; } .status { font-size: 0.75rem; color: #888; margin-bottom: 0.5rem; } /* Login */ .login-screen { text-align: center; padding-top: 20vh; } .login-subtitle { color: #666; margin-bottom: 2rem; font-size: 0.875rem; } .btn-google { background: #fff; color: #333; padding: 0.625rem 1.5rem; font-size: 0.875rem; font-weight: 500; border-radius: 6px; } .btn-google:hover { background: #f0f0f0; } /* Header */ .header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; } .header h1 { margin-bottom: 0; } .user-info { display: flex; align-items: center; gap: 0.75rem; } .user-email { font-size: 0.75rem; color: #666; } .btn-logout { background: none; color: #666; font-size: 0.75rem; padding: 0.25rem 0.5rem; border: 1px solid #333; } .btn-logout:hover { color: #fff; border-color: #555; }