Spaces:
Sleeping
Sleeping
| @import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Lexend:wght@100..900&display=swap'); | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| font-family: "Lexend", sans-serif; | |
| } | |
| body { | |
| font-family: 'Roboto', sans-serif; | |
| /* background: linear-gradient(135deg, #e3f2fd 0%, #f5f5f5 50%, #e8f5e8 100%); */ | |
| background: #4285f4; | |
| min-height: 100vh; | |
| display: flex; | |
| flex-direction: column; | |
| color: #333; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| /* Rain Effect Styles */ | |
| .rain-container { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| pointer-events: none; | |
| z-index: -1; | |
| } | |
| .rain-drop { | |
| position: absolute; | |
| width: 2px; | |
| height: 20px; | |
| /* background: linear-gradient(to bottom, rgba(174, 194, 224, 0.8), rgba(174, 194, 224, 0.3)); */ | |
| background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.9)); | |
| border-radius: 50%; | |
| animation: fall linear infinite; | |
| } | |
| @keyframes fall { | |
| 0% { | |
| transform: translateY(-100vh); | |
| opacity: 1; | |
| } | |
| 100% { | |
| transform: translateY(100vh); | |
| opacity: 0; | |
| } | |
| } | |
| .container { | |
| flex: 1; | |
| display: flex; | |
| flex-direction: column; | |
| padding: 20px; | |
| /* max-width: 1200px; */ | |
| margin: 0 auto; | |
| width: 100%; | |
| } | |
| /* Top Bar */ | |
| .top-bar { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 20px; | |
| } | |
| /* User Info Styles */ | |
| .user-info { | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| color: #ffffff; | |
| font-size: 1rem; | |
| font-weight: 500; | |
| position: relative; | |
| margin-right: 20px; | |
| } | |
| .account-btn { | |
| background: rgba(255, 255, 255, 0.2); | |
| border: none; | |
| border-radius: 50%; | |
| width: 50px; | |
| height: 50px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| color: #ffffff; | |
| } | |
| .account-btn:hover { | |
| background: rgba(255, 255, 255, 0.3); | |
| transform: scale(1.1); | |
| } | |
| .account-btn .material-icons { | |
| font-size: 2rem; | |
| } | |
| /* Account Dropdown */ | |
| .account-dropdown { | |
| position: absolute; | |
| top: 50px; | |
| left: 0; | |
| background: white; | |
| border-radius: 12px; | |
| box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); | |
| min-width: 220px; | |
| opacity: 0; | |
| visibility: hidden; | |
| transform: translateY(-10px); | |
| transition: all 0.3s ease; | |
| z-index: 1000; | |
| } | |
| .account-dropdown.active { | |
| opacity: 1; | |
| visibility: visible; | |
| transform: translateY(0); | |
| } | |
| .dropdown-header { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| padding: 16px; | |
| border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |
| } | |
| .dropdown-header .material-icons { | |
| color: #4285f4; | |
| font-size: 1.5rem; | |
| } | |
| .dropdown-username { | |
| color: #333; | |
| font-weight: 500; | |
| } | |
| .dropdown-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| padding: 12px 16px; | |
| cursor: pointer; | |
| transition: background-color 0.2s ease; | |
| color: #333; | |
| } | |
| .dropdown-item:hover { | |
| background-color: rgba(66, 133, 244, 0.1); | |
| } | |
| .dropdown-item .material-icons { | |
| font-size: 1.2rem; | |
| color: #666; | |
| } | |
| .dropdown-divider { | |
| height: 1px; | |
| background-color: rgba(0, 0, 0, 0.1); | |
| margin: 8px 0; | |
| } | |
| .logout-btn { | |
| background: rgba(255, 255, 255, 0.2); | |
| border: none; | |
| border-radius: 50%; | |
| width: 40px; | |
| height: 40px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| color: #ffffff; | |
| } | |
| .logout-btn:hover { | |
| background: rgba(255, 255, 255, 0.3); | |
| transform: scale(1.1); | |
| } | |
| .logout-btn .material-icons { | |
| font-size: 1.2rem; | |
| } | |
| .username { | |
| font-size: 1.1rem; | |
| color: #ffffff; | |
| margin-right: 20px; | |
| } | |
| /* Clock Styles */ | |
| .clock { | |
| color: #ffffff; | |
| text-align: left; | |
| text-shadow: none; | |
| width: 320px; | |
| } | |
| .time { | |
| font-family: "Lexend", sans-serif; | |
| font-size: 3rem; | |
| /* font-weight: 300; */ | |
| margin-bottom: 8px; | |
| } | |
| .date { | |
| font-size: 1.1rem; | |
| font-weight: 400; | |
| opacity: 0.9; | |
| } | |
| /* Search Bar Styles */ | |
| .search-container { | |
| width: 100%; | |
| /* max-width: 400px; */ | |
| margin-right: 50px; | |
| position: relative; | |
| } | |
| .search-container::placeholder { | |
| color: #999; | |
| font-family: "Lexend", sans-serif; | |
| } | |
| .search-box { | |
| width: 100%; | |
| padding: 16px 24px; | |
| border: none; | |
| border-radius: 50px; | |
| font-size: 1.1rem; | |
| background: rgba(255, 255, 255, 0.95); | |
| backdrop-filter: blur(10px); | |
| /* box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); */ | |
| outline: none; | |
| transition: all 0.3s ease; | |
| /* border: 2px solid rgba(0, 0, 0, 0.2); */ | |
| } | |
| .search-icon { | |
| position: absolute; | |
| right: 20px; | |
| top: 50%; | |
| transform: translateY(-50%); | |
| color: #666; | |
| cursor: pointer; | |
| transition: color 0.3s ease; | |
| } | |
| .search-icon:hover { | |
| color: #4285f4; | |
| } | |
| /* Main Content Grid */ | |
| .main-content { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 30px; | |
| width: 100%; | |
| /* max-width: 1000px; */ | |
| margin: 0 auto; | |
| flex: 1; | |
| } | |
| /* Card Styles */ | |
| .card { | |
| background: rgba(255, 255, 255, 0.95); | |
| backdrop-filter: blur(10px); | |
| border-radius: 16px; | |
| padding: 24px; | |
| /* box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); */ | |
| transition: all 0.3s ease; | |
| } | |
| .card-header { | |
| display: flex; | |
| align-items: center; | |
| margin-bottom: 20px; | |
| padding-bottom: 16px; | |
| border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |
| } | |
| .card-icon { | |
| margin-right: 12px; | |
| color: #4285f4; | |
| } | |
| .card-title { | |
| font-size: 1.3rem; | |
| font-weight: 500; | |
| color: #333; | |
| } | |
| /* Bookmarks Styles */ | |
| .bookmarks-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); | |
| gap: 16px; | |
| max-height: 400px; | |
| overflow-y: auto; | |
| padding-right: 8px; | |
| } | |
| /* Custom scrollbar for bookmarks */ | |
| .bookmarks-grid::-webkit-scrollbar { | |
| width: 4px; | |
| } | |
| .bookmarks-grid::-webkit-scrollbar-track { | |
| background: rgba(0, 0, 0, 0.1); | |
| border-radius: 2px; | |
| } | |
| .bookmarks-grid::-webkit-scrollbar-thumb { | |
| background: #4285f4; | |
| border-radius: 2px; | |
| } | |
| .bookmarks-grid::-webkit-scrollbar-thumb:hover { | |
| background: #3367d6; | |
| } | |
| .bookmark { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| padding: 16px; | |
| border-radius: 12px; | |
| background: rgba(66, 133, 244, 0.1); | |
| text-decoration: none; | |
| color: #333; | |
| transition: all 0.3s ease; | |
| cursor: pointer; | |
| } | |
| .bookmark:hover { | |
| background: rgba(66, 133, 244, 0.2); | |
| transform: translateY(-2px); | |
| } | |
| .bookmark-icon { | |
| font-size: 2rem; | |
| margin-bottom: 8px; | |
| color: #4285f4; | |
| } | |
| .bookmark-name { | |
| font-size: 0.9rem; | |
| text-align: center; | |
| font-weight: 500; | |
| } | |
| .bookmark-url { | |
| font-size: 0.8rem; | |
| color: #666; | |
| margin-top: 4px; | |
| } | |
| /* Notepad Styles */ | |
| .notepad-container { | |
| /* height: 500px; */ | |
| height: calc(100% - 50px); | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .notes-tabs { | |
| display: flex; | |
| margin-bottom: 16px; | |
| border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |
| } | |
| .note-tab { | |
| padding: 8px 16px; | |
| background: none; | |
| border: none; | |
| cursor: pointer; | |
| border-bottom: 2px solid transparent; | |
| transition: all 0.3s ease; | |
| font-size: 0.9rem; | |
| color: #666; | |
| position: relative; | |
| } | |
| .note-tab.active { | |
| color: #4285f4; | |
| border-bottom-color: #4285f4; | |
| } | |
| .note-tab:hover { | |
| background: rgba(0, 0, 0, 0.05); | |
| } | |
| .note-tab .close-note { | |
| margin-left: 8px; | |
| font-size: 0.8rem; | |
| opacity: 0.6; | |
| } | |
| .note-tab .close-note:hover { | |
| opacity: 1; | |
| color: #f44336; | |
| } | |
| .add-note-btn { | |
| padding: 8px 12px; | |
| background: rgba(66, 133, 244, 0.1); | |
| border: none; | |
| border-radius: 4px; | |
| cursor: pointer; | |
| color: #4285f4; | |
| font-size: 0.9rem; | |
| transition: all 0.3s ease; | |
| margin-left: 8px; | |
| } | |
| .add-note-btn:hover { | |
| background: rgba(66, 133, 244, 0.2); | |
| } | |
| .note-content { | |
| flex: 1; | |
| display: none; | |
| flex-direction: column; | |
| } | |
| .note-content.active { | |
| display: flex; | |
| } | |
| .notepad-textarea { | |
| flex: 1; | |
| border: none; | |
| resize: none; | |
| font-family: 'Lexend', sans-serif; | |
| font-size: 1rem; | |
| line-height: 1.5; | |
| padding: 16px; | |
| border-radius: 8px; | |
| background: rgba(0, 0, 0, 0.02); | |
| outline: none; | |
| transition: all 0.3s ease; | |
| min-height: 300px; | |
| } | |
| .notepad-textarea:focus { | |
| background: rgba(0, 0, 0, 0.05); | |
| } | |
| .notepad-textarea::placeholder { | |
| color: #999; | |
| font-family: "Lexend", sans-serif; | |
| } | |
| .notepad-footer { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-top: 12px; | |
| font-size: 0.9rem; | |
| color: #666; | |
| } | |
| .save-indicator { | |
| color: #4caf50; | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| } | |
| .save-indicator.visible { | |
| opacity: 1; | |
| } | |
| /* Add Bookmark Button */ | |
| .add-bookmark-btn { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 12px; | |
| background: rgba(66, 133, 244, 0.1); | |
| border: 2px dashed rgba(66, 133, 244, 0.3); | |
| border-radius: 12px; | |
| color: #4285f4; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| text-decoration: none; | |
| } | |
| .add-bookmark-btn:hover { | |
| background: rgba(66, 133, 244, 0.2); | |
| border-color: rgba(66, 133, 244, 0.5); | |
| } | |
| /* Modal Styles */ | |
| .modal { | |
| display: none; | |
| position: fixed; | |
| z-index: 1000; | |
| left: 0; | |
| top: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(0, 0, 0, 0.5); | |
| backdrop-filter: blur(5px); | |
| } | |
| .modal-content { | |
| background: white; | |
| margin: 15% auto; | |
| padding: 24px; | |
| border-radius: 16px; | |
| width: 90%; | |
| max-width: 400px; | |
| box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); | |
| } | |
| /* Password Entry Modal - needs less top margin due to height */ | |
| #passwordEntryModal .modal-content { | |
| margin: 5% auto; | |
| max-width: 500px; | |
| } | |
| .modal-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 20px; | |
| } | |
| .modal-title { | |
| font-size: 1.3rem; | |
| font-weight: 500; | |
| } | |
| .close-btn { | |
| background: none; | |
| border: none; | |
| font-size: 1.5rem; | |
| cursor: pointer; | |
| color: #666; | |
| padding: 4px; | |
| } | |
| .form-group { | |
| margin-bottom: 16px; | |
| } | |
| .form-label { | |
| display: block; | |
| margin-bottom: 8px; | |
| font-weight: 500; | |
| color: #333; | |
| } | |
| .form-input { | |
| width: 100%; | |
| padding: 12px; | |
| border: 2px solid #e0e0e0; | |
| border-radius: 8px; | |
| font-size: 1rem; | |
| outline: none; | |
| transition: border-color 0.3s ease; | |
| } | |
| .form-input:focus { | |
| border-color: #4285f4; | |
| } | |
| .btn { | |
| background: #4285f4; | |
| color: white; | |
| border: none; | |
| padding: 12px 24px; | |
| border-radius: 8px; | |
| font-size: 1rem; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .btn:hover { | |
| background: #3367d6; | |
| transform: translateY(-1px); | |
| } | |
| .btn-secondary { | |
| background: #f0f0f0; | |
| color: #333; | |
| margin-right: 12px; | |
| } | |
| .btn-secondary:hover { | |
| background: #e0e0e0; | |
| } | |
| .btn-danger { | |
| background: #dc3545; | |
| color: white; | |
| border: none; | |
| padding: 12px 24px; | |
| border-radius: 8px; | |
| font-size: 1rem; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .btn-danger:hover { | |
| background: #c82333; | |
| } | |
| /* Developer Modal Styles */ | |
| .developer-modal { | |
| max-width: 1000px; | |
| width: 90%; | |
| margin: 5% auto; | |
| } | |
| .developer-content { | |
| padding: 20px 0; | |
| } | |
| .stats-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); | |
| gap: 20px; | |
| margin-bottom: 30px; | |
| } | |
| .stat-card { | |
| display: flex; | |
| align-items: center; | |
| gap: 15px; | |
| padding: 20px; | |
| background: rgba(66, 133, 244, 0.1); | |
| border-radius: 12px; | |
| transition: all 0.3s ease; | |
| } | |
| .stat-icon { | |
| width: 50px; | |
| height: 50px; | |
| border-radius: 50%; | |
| background: #4285f4; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: white; | |
| } | |
| .stat-icon .material-icons { | |
| font-size: 1.5rem; | |
| } | |
| .stat-info h4 { | |
| font-size: 1.8rem; | |
| font-weight: 700; | |
| margin: 0; | |
| color: #333; | |
| } | |
| .stat-info p { | |
| font-size: 0.9rem; | |
| color: #666; | |
| margin: 2px 0 0 0; | |
| } | |
| .chart-container { | |
| background: rgba(0, 0, 0, 0.02); | |
| border-radius: 12px; | |
| padding: 20px; | |
| text-align: center; | |
| height: 350px; | |
| } | |
| .chart-container h4 { | |
| margin-bottom: 20px; | |
| color: #333; | |
| font-size: 1.2rem; | |
| font-weight: 600; | |
| } | |
| #activityChart { | |
| max-width: 100%; | |
| height: 300px ; | |
| } | |
| /* Vault Styles */ | |
| .vault-modal { | |
| max-width: 900px; | |
| width: 95%; | |
| margin: 3% auto; | |
| max-height: 85vh; | |
| } | |
| .vault-content { | |
| padding: 20px 0; | |
| max-height: 70vh; | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .vault-auth-content { | |
| text-align: center; | |
| padding: 20px; | |
| } | |
| .vault-lock-icon { | |
| font-size: 3rem; | |
| color: #4285f4; | |
| margin-bottom: 20px; | |
| } | |
| .vault-lock-icon .material-icons { | |
| font-size: 3rem; | |
| } | |
| .vault-toolbar { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 20px; | |
| gap: 20px; | |
| } | |
| .vault-search { | |
| flex: 1; | |
| position: relative; | |
| max-width: 400px; | |
| } | |
| .search-input { | |
| width: 100%; | |
| padding: 12px 45px 12px 16px; | |
| border: 2px solid #e0e0e0; | |
| border-radius: 25px; | |
| font-size: 1rem; | |
| outline: none; | |
| transition: border-color 0.3s ease; | |
| background: rgba(255, 255, 255, 0.95); | |
| } | |
| .search-input:focus { | |
| border-color: #4285f4; | |
| } | |
| .vault-search .search-icon { | |
| position: absolute; | |
| right: 15px; | |
| top: 50%; | |
| transform: translateY(-50%); | |
| color: #666; | |
| cursor: pointer; | |
| } | |
| .add-password-btn { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| white-space: nowrap; | |
| } | |
| .vault-list { | |
| flex: 1; | |
| overflow-y: auto; | |
| border-radius: 12px; | |
| background: rgba(0, 0, 0, 0.02); | |
| padding: 10px; | |
| max-height: 400px; | |
| } | |
| .vault-entry { | |
| background: white; | |
| border-radius: 12px; | |
| padding: 16px; | |
| margin-bottom: 12px; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| border-left: 4px solid #4285f4; | |
| } | |
| .vault-entry-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 8px; | |
| } | |
| .vault-entry-title { | |
| font-weight: 600; | |
| font-size: 1.1rem; | |
| color: #333; | |
| } | |
| .vault-entry-actions { | |
| display: flex; | |
| gap: 8px; | |
| } | |
| .vault-action-btn { | |
| background: none; | |
| border: none; | |
| padding: 6px; | |
| border-radius: 50%; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| color: #666; | |
| } | |
| .vault-action-btn:hover { | |
| background: rgba(66, 133, 244, 0.1); | |
| color: #4285f4; | |
| } | |
| .vault-entry-info { | |
| display: grid; | |
| grid-template-columns: auto 1fr; | |
| gap: 8px 16px; | |
| font-size: 0.9rem; | |
| color: #666; | |
| } | |
| .vault-entry-label { | |
| font-weight: 500; | |
| color: #333; | |
| } | |
| .vault-entry-value { | |
| word-break: break-word; | |
| } | |
| .password-input-container { | |
| position: relative; | |
| display: flex; | |
| } | |
| .password-input-container .form-input { | |
| padding-right: 80px; | |
| } | |
| .password-toggle-btn, | |
| .password-generate-btn { | |
| position: absolute; | |
| right: 5px; | |
| top: 50%; | |
| transform: translateY(-50%); | |
| background: none; | |
| border: none; | |
| padding: 8px; | |
| cursor: pointer; | |
| color: #666; | |
| border-radius: 50%; | |
| transition: all 0.3s ease; | |
| } | |
| .password-toggle-btn { | |
| right: 40px; | |
| } | |
| .password-generate-btn { | |
| right: 5px; | |
| } | |
| .password-toggle-btn:hover, | |
| .password-generate-btn:hover { | |
| background: rgba(66, 133, 244, 0.1); | |
| color: #4285f4; | |
| } | |
| .vault-empty { | |
| text-align: center; | |
| padding: 40px; | |
| color: #666; | |
| } | |
| .vault-empty .material-icons { | |
| font-size: 3rem; | |
| color: #ccc; | |
| margin-bottom: 16px; | |
| } | |
| .password-strength { | |
| margin-top: 5px; | |
| height: 4px; | |
| border-radius: 2px; | |
| background: #e0e0e0; | |
| overflow: hidden; | |
| } | |
| .password-strength-bar { | |
| height: 100%; | |
| transition: all 0.3s ease; | |
| border-radius: 2px; | |
| } | |
| .strength-weak { | |
| background: #f44336; | |
| width: 25%; | |
| } | |
| .strength-fair { | |
| background: #ff9800; | |
| width: 50%; | |
| } | |
| .strength-good { | |
| background: #2196f3; | |
| width: 75%; | |
| } | |
| .strength-strong { | |
| background: #4caf50; | |
| width: 100%; | |
| } | |
| /* Responsive Design */ | |
| @media (max-width: 768px) { | |
| .top-bar { | |
| flex-direction: column; | |
| gap: 20px; | |
| align-items: center; | |
| } | |
| .main-content { | |
| grid-template-columns: 1fr; | |
| gap: 20px; | |
| } | |
| .time { | |
| font-size: 2.5rem; | |
| } | |
| .bookmarks-grid { | |
| grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); | |
| } | |
| .card { | |
| padding: 20px; | |
| } | |
| .search-container { | |
| max-width: 100%; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .time { | |
| font-size: 2rem; | |
| } | |
| .container { | |
| padding: 15px; | |
| } | |
| .modal-content { | |
| margin: 10% auto; | |
| width: 95%; | |
| } | |
| .notes-tabs { | |
| flex-wrap: wrap; | |
| gap: 4px; | |
| } | |
| .note-tab { | |
| padding: 6px 12px; | |
| font-size: 0.8rem; | |
| } | |
| } |