mirror of
https://github.com/phishingclub/phishingclub.git
synced 2026-05-21 15:36:48 +02:00
bbd7397c14
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
352 lines
7.6 KiB
CSS
352 lines
7.6 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
/* @import url('https://fonts.googleapis.com/css2?family=Phudu:wght@700;900&family=Titillium+Web:wght@400;600&display=swap'); */
|
|
|
|
@font-face {
|
|
font-family: 'Titillium Web';
|
|
font-style: normal;
|
|
font-weight: 400;
|
|
font-display: swap;
|
|
src: url('/TitilliumWeb-Regular.ttf') format('truetype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Titillium Web';
|
|
font-style: normal;
|
|
font-weight: 600;
|
|
font-display: swap;
|
|
src: url('/TitilliumWeb-SemiBold.ttf') format('truetype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Titillium Web';
|
|
font-style: normal;
|
|
font-weight: 700;
|
|
font-display: swap;
|
|
src: url('/TitilliumWeb-Bold.ttf') format('truetype');
|
|
}
|
|
|
|
/* For Phudu */
|
|
@font-face {
|
|
font-family: 'Phudu';
|
|
font-style: normal;
|
|
font-weight: 700;
|
|
font-display: swap;
|
|
src: url('/Phudu-Bold.ttf') format('truetype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Phudu';
|
|
font-style: normal;
|
|
font-weight: 900;
|
|
font-display: swap;
|
|
src: url('/Phudu-Black.ttf') format('truetype');
|
|
}
|
|
|
|
/* custom properties for theming */
|
|
:root {
|
|
/* light mode colors */
|
|
--color-bg-primary: #ffffff;
|
|
--color-bg-secondary: #f8f9fa;
|
|
--color-bg-tertiary: #f1f3f4;
|
|
--color-border: #e5e7eb;
|
|
--color-border-hover: #d1d5db;
|
|
--color-text-primary: #111827;
|
|
--color-text-secondary: #6b7280;
|
|
--color-text-tertiary: #9ca3af;
|
|
--color-shadow: rgba(0, 0, 0, 0.1);
|
|
--color-shadow-lg: rgba(0, 0, 0, 0.15);
|
|
|
|
/* form colors */
|
|
--color-input-bg: #ffffff;
|
|
--color-input-border: #d1d5db;
|
|
--color-input-border-focus: #2563eb;
|
|
|
|
/* scrollbar colors */
|
|
--color-scrollbar-track: #f1f1f1;
|
|
--color-scrollbar-thumb: #819efb;
|
|
--color-scrollbar-thumb-hover: #6b85d6;
|
|
}
|
|
|
|
.dark {
|
|
/* dark mode colors */
|
|
--color-bg-primary: #111827;
|
|
--color-bg-secondary: #1f2937;
|
|
--color-bg-tertiary: #374151;
|
|
--color-border: #374151;
|
|
--color-border-hover: #4b5563;
|
|
--color-text-primary: #f9fafb;
|
|
--color-text-secondary: #d1d5db;
|
|
--color-text-tertiary: #9ca3af;
|
|
--color-shadow: rgba(0, 0, 0, 0.3);
|
|
--color-shadow-lg: rgba(0, 0, 0, 0.4);
|
|
|
|
/* form colors */
|
|
--color-input-bg: #374151;
|
|
--color-input-border: #4b5563;
|
|
--color-input-border-focus: #3b82f6;
|
|
|
|
/* scrollbar colors */
|
|
--color-scrollbar-track: #374151;
|
|
--color-scrollbar-thumb: #6b7280;
|
|
--color-scrollbar-thumb-hover: #9ca3af;
|
|
}
|
|
|
|
/* global styles */
|
|
body {
|
|
background-color: var(--color-bg-primary);
|
|
color: var(--color-text-primary);
|
|
transition:
|
|
background-color 0.2s ease,
|
|
color 0.2s ease;
|
|
}
|
|
|
|
/* scrollbar styles */
|
|
body {
|
|
@apply [&::-webkit-scrollbar]:w-2
|
|
[&::-webkit-scrollbar-track]:bg-[var(--color-scrollbar-track)]
|
|
[&::-webkit-scrollbar-thumb]:rounded-md
|
|
[&::-webkit-scrollbar-thumb]:bg-[var(--color-scrollbar-thumb)]
|
|
[&::-webkit-scrollbar-thumb:hover]:bg-[var(--color-scrollbar-thumb-hover)];
|
|
}
|
|
|
|
/* dark mode utility classes */
|
|
@layer utilities {
|
|
.bg-theme-primary {
|
|
background-color: var(--color-bg-primary);
|
|
}
|
|
|
|
.bg-theme-secondary {
|
|
background-color: var(--color-bg-secondary);
|
|
}
|
|
|
|
.bg-theme-tertiary {
|
|
background-color: var(--color-bg-tertiary);
|
|
}
|
|
|
|
.text-theme-primary {
|
|
color: var(--color-text-primary);
|
|
}
|
|
|
|
.text-theme-secondary {
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
.text-theme-tertiary {
|
|
color: var(--color-text-tertiary);
|
|
}
|
|
|
|
.border-theme {
|
|
border-color: var(--color-border);
|
|
}
|
|
|
|
.border-theme-hover:hover {
|
|
border-color: var(--color-border-hover);
|
|
}
|
|
|
|
.shadow-theme {
|
|
box-shadow: 0 1px 3px 0 var(--color-shadow);
|
|
}
|
|
|
|
.shadow-theme-lg {
|
|
box-shadow: 0 10px 15px -3px var(--color-shadow-lg);
|
|
}
|
|
|
|
.input-theme {
|
|
background-color: var(--color-input-bg);
|
|
border-color: var(--color-input-border);
|
|
color: var(--color-text-primary);
|
|
}
|
|
|
|
.input-theme:focus {
|
|
border-color: var(--color-input-border-focus);
|
|
}
|
|
}
|
|
|
|
/* component-specific dark mode overrides */
|
|
.dark .bg-gray-50 {
|
|
@apply bg-gray-800;
|
|
}
|
|
|
|
.dark .bg-gray-100 {
|
|
@apply bg-gray-700;
|
|
}
|
|
|
|
.dark .bg-gray-200 {
|
|
@apply bg-gray-600;
|
|
}
|
|
|
|
.dark .bg-white {
|
|
@apply bg-gray-800;
|
|
}
|
|
|
|
.dark .text-gray-900 {
|
|
@apply text-gray-100;
|
|
}
|
|
|
|
.dark .text-gray-800 {
|
|
@apply text-gray-200;
|
|
}
|
|
|
|
.dark .text-gray-700 {
|
|
@apply text-gray-300;
|
|
}
|
|
|
|
.dark .text-gray-600 {
|
|
@apply text-gray-400;
|
|
}
|
|
|
|
.dark .text-black {
|
|
@apply text-white;
|
|
}
|
|
|
|
.dark .border-gray-200 {
|
|
@apply border-gray-600;
|
|
}
|
|
|
|
.dark .border-gray-300 {
|
|
@apply border-gray-500;
|
|
}
|
|
|
|
/* table dark mode styles */
|
|
.dark table {
|
|
@apply bg-gray-800;
|
|
}
|
|
|
|
.dark table td {
|
|
@apply bg-transparent text-gray-300 border-gray-600;
|
|
}
|
|
|
|
/* form elements dark mode */
|
|
.dark input,
|
|
.dark textarea,
|
|
.dark select {
|
|
@apply bg-gray-700 border-gray-600 text-white placeholder-gray-500;
|
|
}
|
|
|
|
.dark input:focus,
|
|
.dark textarea:focus,
|
|
.dark select:focus {
|
|
@apply border-blue-500 ring-blue-500;
|
|
}
|
|
|
|
/* modal and card dark mode */
|
|
.dark .modal-content,
|
|
.dark .card {
|
|
@apply bg-gray-800 border-gray-600;
|
|
}
|
|
|
|
/* button hover effects in dark mode */
|
|
.dark .bg-cta-blue:hover {
|
|
@apply bg-blue-600;
|
|
}
|
|
|
|
.dark .bg-pc-darkblue:hover {
|
|
@apply bg-blue-900;
|
|
}
|
|
|
|
/* custom scrollbar for dark mode containers */
|
|
.dark .overflow-auto,
|
|
.dark .overflow-x-auto,
|
|
.dark .overflow-y-auto {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: #6b7280 #374151;
|
|
}
|
|
|
|
.dark .overflow-auto::-webkit-scrollbar,
|
|
.dark .overflow-x-auto::-webkit-scrollbar,
|
|
.dark .overflow-y-auto::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
|
|
.dark .overflow-auto::-webkit-scrollbar-track,
|
|
.dark .overflow-x-auto::-webkit-scrollbar-track,
|
|
.dark .overflow-y-auto::-webkit-scrollbar-track {
|
|
background: #374151;
|
|
}
|
|
|
|
.dark .overflow-auto::-webkit-scrollbar-thumb,
|
|
.dark .overflow-x-auto::-webkit-scrollbar-thumb,
|
|
.dark .overflow-y-auto::-webkit-scrollbar-thumb {
|
|
background: #6b7280;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.dark .overflow-auto::-webkit-scrollbar-thumb:hover,
|
|
.dark .overflow-x-auto::-webkit-scrollbar-thumb:hover,
|
|
.dark .overflow-y-auto::-webkit-scrollbar-thumb:hover {
|
|
background: #9ca3af;
|
|
}
|
|
|
|
/* native date picker dark mode styling */
|
|
.dark input[type='date']::-webkit-calendar-picker-indicator,
|
|
.dark input[type='time']::-webkit-calendar-picker-indicator,
|
|
.dark input[type='datetime-local']::-webkit-calendar-picker-indicator {
|
|
filter: invert(1);
|
|
}
|
|
|
|
.dark input[type='date']::-webkit-datetime-edit,
|
|
.dark input[type='time']::-webkit-datetime-edit,
|
|
.dark input[type='datetime-local']::-webkit-datetime-edit {
|
|
color: rgb(209 213 219);
|
|
}
|
|
|
|
.dark input[type='date']::-webkit-datetime-edit-fields-wrapper,
|
|
.dark input[type='time']::-webkit-datetime-edit-fields-wrapper,
|
|
.dark input[type='datetime-local']::-webkit-datetime-edit-fields-wrapper {
|
|
background: rgb(55 65 81);
|
|
}
|
|
|
|
/* force date picker to use system dark theme */
|
|
.dark input[type='date'],
|
|
.dark input[type='time'],
|
|
.dark input[type='datetime-local'] {
|
|
color-scheme: dark;
|
|
}
|
|
|
|
/* selected date background in dark mode */
|
|
.dark input[type='date']::-webkit-datetime-edit-day-field:focus,
|
|
.dark input[type='date']::-webkit-datetime-edit-month-field:focus,
|
|
.dark input[type='date']::-webkit-datetime-edit-year-field:focus,
|
|
.dark input[type='time']::-webkit-datetime-edit-hour-field:focus,
|
|
.dark input[type='time']::-webkit-datetime-edit-minute-field:focus {
|
|
background-color: rgb(55 65 81);
|
|
color: rgb(209 213 219);
|
|
}
|
|
|
|
/* transitions for smooth theme switching */
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
transition:
|
|
background-color 0.2s ease,
|
|
border-color 0.2s ease,
|
|
color 0.2s ease;
|
|
}
|
|
|
|
/* override transitions for elements that shouldn't animate */
|
|
.no-transition,
|
|
.no-transition *,
|
|
.no-transition *::before,
|
|
.no-transition *::after {
|
|
transition: none !important;
|
|
}
|
|
|
|
/* global placeholder styling for consistency */
|
|
input::placeholder,
|
|
textarea::placeholder,
|
|
select::placeholder {
|
|
color: #9ca3af; /* gray-400 */
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.dark input::placeholder,
|
|
.dark textarea::placeholder,
|
|
.dark select::placeholder {
|
|
color: #6b7280; /* gray-500 */
|
|
opacity: 0.6;
|
|
}
|