mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-21 22:11:07 -05:00
158 lines
5.8 KiB
CSS
158 lines
5.8 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer components {
|
|
.btn-primary {
|
|
@apply inline-flex items-center px-6 py-2.5 border border-transparent rounded-full shadow-md text-sm font-medium text-white bg-gradient-to-r from-primary to-secondary hover:from-primary/90 hover:to-secondary/90 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary/50 transform hover:scale-105 transition-all;
|
|
}
|
|
/* Default icon style (moon icon) */
|
|
#theme-toggle+.theme-toggle-btn i::before {
|
|
content: "\f186";
|
|
/* Moon icon */
|
|
font-family: "Font Awesome 5 Free";
|
|
font-weight: 900;
|
|
/* Solid icon */
|
|
}
|
|
|
|
/* Change to sun icon and color when checkbox is checked */
|
|
#theme-toggle:checked+.theme-toggle-btn i::before {
|
|
content: "\f185";
|
|
/* Sun icon */
|
|
color: theme('colors.yellow.400');
|
|
/* Tailwind yellow-400 color */
|
|
}
|
|
.btn-secondary {
|
|
@apply inline-flex items-center px-6 py-2.5 border border-gray-200 dark:border-gray-700 rounded-full shadow-md text-sm font-medium text-gray-700 dark:text-gray-200 bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary/50 transform hover:scale-105 transition-all;
|
|
}
|
|
|
|
.nav-link {
|
|
@apply flex items-center px-6 py-2.5 rounded-lg font-medium text-gray-700 dark:text-gray-200 hover:bg-primary/10 dark:hover:bg-primary/20 hover:text-primary dark:hover:text-primary transition-all border border-transparent hover:border-primary/20 dark:hover:border-primary/30;
|
|
}
|
|
|
|
.nav-link i {
|
|
@apply mr-3 text-lg text-gray-500 transition-colors dark:text-gray-400;
|
|
}
|
|
|
|
.nav-link:hover i {
|
|
@apply text-primary;
|
|
}
|
|
|
|
.mobile-nav-link {
|
|
@apply flex items-center px-6 py-3 text-gray-700 transition-all border border-transparent rounded-lg dark:text-gray-200 hover:bg-primary/10 dark:hover:bg-primary/20 hover:text-primary dark:hover:text-primary hover:border-primary/20 dark:hover:border-primary/30;
|
|
}
|
|
|
|
.mobile-nav-link i {
|
|
@apply mr-3 text-lg text-gray-500 dark:text-gray-400;
|
|
}
|
|
|
|
.menu-item {
|
|
@apply flex items-center w-full px-4 py-3 text-sm text-gray-700 transition-all dark:text-gray-200 hover:bg-primary/10 dark:hover:bg-primary/20 hover:text-primary dark:hover:text-primary first:rounded-t-lg last:rounded-b-lg;
|
|
}
|
|
|
|
.menu-item i {
|
|
@apply mr-3 text-base text-gray-500 dark:text-gray-400;
|
|
}
|
|
|
|
.form-input {
|
|
@apply w-full px-4 py-3 text-gray-900 transition-all border border-gray-200 rounded-lg shadow-sm dark:border-gray-700 bg-white/70 dark:bg-gray-800/70 backdrop-blur-sm dark:text-white focus:ring-2 focus:ring-primary/50 focus:border-primary;
|
|
}
|
|
|
|
.form-label {
|
|
@apply block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5;
|
|
}
|
|
|
|
.form-hint {
|
|
@apply mt-2 space-y-1 text-sm text-gray-500 dark:text-gray-400;
|
|
}
|
|
|
|
.form-error {
|
|
@apply mt-2 text-sm text-red-600 dark:text-red-400;
|
|
}
|
|
|
|
/* Status Badge Styles */
|
|
.status-badge {
|
|
@apply inline-flex items-center px-3 py-1 text-sm font-medium rounded-full;
|
|
}
|
|
|
|
.status-operating {
|
|
@apply text-green-800 bg-green-100 dark:bg-green-700 dark:text-green-50;
|
|
}
|
|
|
|
.status-closed {
|
|
@apply text-red-800 bg-red-100 dark:bg-red-700 dark:text-red-50;
|
|
}
|
|
|
|
.status-construction {
|
|
@apply text-yellow-800 bg-yellow-100 dark:bg-yellow-600 dark:text-yellow-50;
|
|
}
|
|
|
|
/* Auth Card Styles */
|
|
.auth-card {
|
|
@apply w-full max-w-md p-8 mx-auto border shadow-xl bg-white/90 dark:bg-gray-800/90 rounded-2xl backdrop-blur-sm border-gray-200/50 dark:border-gray-700/50;
|
|
}
|
|
|
|
.auth-title {
|
|
@apply mb-8 text-2xl font-bold text-center text-transparent bg-gradient-to-r from-primary to-secondary bg-clip-text;
|
|
}
|
|
|
|
.auth-divider {
|
|
@apply relative my-6 text-center;
|
|
}
|
|
|
|
.auth-divider::before,
|
|
.auth-divider::after {
|
|
@apply absolute top-1/2 w-1/3 border-t border-gray-200 dark:border-gray-700 content-[''];
|
|
}
|
|
|
|
.auth-divider::before {
|
|
@apply left-0;
|
|
}
|
|
|
|
.auth-divider::after {
|
|
@apply right-0;
|
|
}
|
|
|
|
.auth-divider span {
|
|
@apply px-4 text-sm text-gray-500 dark:text-gray-400 bg-white/90 dark:bg-gray-800/90;
|
|
}
|
|
|
|
/* Social Login Buttons */
|
|
.btn-social {
|
|
@apply w-full flex items-center justify-center px-6 py-3 border border-gray-200 dark:border-gray-700 rounded-lg shadow-sm text-sm font-medium text-gray-700 dark:text-gray-200 bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary/50 transform hover:scale-[1.02] transition-all mb-3;
|
|
}
|
|
|
|
.btn-discord {
|
|
@apply bg-[#5865F2] hover:bg-[#4752C4] text-white border-transparent shadow-[#5865F2]/20;
|
|
}
|
|
|
|
.btn-google {
|
|
@apply text-gray-700 bg-white border-gray-200 hover:bg-gray-50 shadow-gray-200/50 dark:shadow-gray-900/50;
|
|
}
|
|
|
|
.alert {
|
|
@apply p-4 mb-4 shadow-lg rounded-xl backdrop-blur-sm;
|
|
}
|
|
|
|
.alert-success {
|
|
@apply text-green-800 border border-green-200 bg-green-100/90 dark:bg-green-800/30 dark:text-green-100 dark:border-green-700;
|
|
}
|
|
|
|
.alert-error {
|
|
@apply text-red-800 border border-red-200 bg-red-100/90 dark:bg-red-800/30 dark:text-red-100 dark:border-red-700;
|
|
}
|
|
|
|
.alert-warning {
|
|
@apply text-yellow-800 border border-yellow-200 bg-yellow-100/90 dark:bg-yellow-800/30 dark:text-yellow-100 dark:border-yellow-700;
|
|
}
|
|
|
|
.alert-info {
|
|
@apply text-blue-800 border border-blue-200 bg-blue-100/90 dark:bg-blue-800/30 dark:text-blue-100 dark:border-blue-700;
|
|
}
|
|
|
|
/* Turnstile Widget */
|
|
.turnstile {
|
|
@apply flex items-center justify-center my-4;
|
|
}
|
|
}
|