Character-Cards / style.css
CultriX's picture
First Commit
d8c9b50 verified
/* Additional custom styles for CardForge */
/* Smooth transitions for all interactive elements */
button, input, textarea {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Line clamp utilities */
.line-clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-4 {
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
overflow: hidden;
}
/* Animation for section expansion */
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.section-collapse.open {
animation: slideDown 0.3s ease;
}
/* Custom focus styles */
.glass-input:focus {
caret-color: #818cf8;
}
/* Glass morphism enhancement for WebKit browsers */
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.glass-panel {
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
}
}
/* Firefox scrollbar styling */
* {
scrollbar-width: thin;
scrollbar-color: rgba(99, 102, 241, 0.5) rgba(15, 23, 42, 0.5);
}
/* Prevent image dragging */
img {
-webkit-user-drag: none;
user-select: none;
}
/* Textarea resize animation */
textarea {
transition: height 0.2s ease;
}
/* Button press effect */
.btn-primary:active, .btn-secondary:active {
transform: scale(0.98);
}
/* Loading spinner for async operations */
@keyframes spin {
to {
transform: rotate(360deg);
}
}
.loading {
animation: spin 1s linear infinite;
}
/* Shimmer loading effect */
@keyframes shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
.shimmer {
background: linear-gradient(90deg, rgba(255,255,255,0.05) 25%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.05) 75%);
background-size: 200% 100%;
animation: shimmer 2s infinite;
}
/* Floating animation */
@keyframes float {
0%, 100% {
transform: translateY(0px);
}
50% {
transform: translateY(-10px);
}
}
.float {
animation: float 3s ease-in-out infinite;
}
/* Pulse glow */
@keyframes pulse-glow {
0%, 100% {
box-shadow: 0 0 5px rgba(99, 102, 241, 0.5);
}
50% {
box-shadow: 0 0 20px rgba(99, 102, 241, 0.8);
}
}
.pulse-glow {
animation: pulse-glow 2s ease-in-out infinite;
}
/* Smooth section transitions */
.section-collapse {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
opacity: 0;
}
.section-collapse.open {
opacity: 1;
}
/* Better toggle icon rotation */
.toggle-icon {
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Gradient text animation */
@keyframes gradient-shift {
0%, 100% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
}
.animate-gradient {
background-size: 200% 200%;
animation: gradient-shift 3s ease infinite;
}
/* Field status indicators */
.field-status-complete {
color: #4ade80;
}
.field-status-empty {
color: #6b7280;
}
/* Card hover lift effect */
.character-card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.character-card:hover {
transform: translateY(-2px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}
/* Custom scrollbar for extract content */
#extract-content::-webkit-scrollbar {
width: 6px;
}
#extract-content::-webkit-scrollbar-thumb {
background: rgba(99, 102, 241, 0.3);
border-radius: 3px;
}
#extract-content::-webkit-scrollbar-thumb:hover {
background: rgba(99, 102, 241, 0.5);
}
/* Card shine effect */
.character-card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.1),
transparent
);
transition: left 0.5s;
pointer-events: none;
}
.character-card:hover::before {
left: 100%;
}
/* Tag hover effect */
.tag-pill {
transition: all 0.2s ease;
}
.tag-pill:hover {
transform: translateY(-1px);
background: rgba(99, 102, 241, 0.3);
box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2);
}
/* Toast animation refinement */
#toast-container > div {
animation: toastSlide 0.3s ease forwards;
}
@keyframes toastSlide {
from {
opacity: 0;
transform: translateX(100%) scale(0.9);
}
to {
opacity: 1;
transform: translateX(0) scale(1);
}
}
/* Responsive adjustments */
@media (max-width: 1024px) {
.glass-panel {
backdrop-filter: blur(8px);
}
#create-mode {
height: auto;
min-height: calc(100vh - 8rem);
}
.character-card {
max-width: 400px;
margin: 0 auto;
}
}
@media (max-width: 640px) {
.glass-panel {
padding: 1rem;
}
.preview-avatar {
height: 200px;
}
}
/* Print styles for exported cards */
@media print {
body {
background: white;
}
.glass-panel {
background: white;
border: 1px solid #ccc;
box-shadow: none;
}
}
/* High contrast mode support */
@media (prefers-contrast: high) {
.glass-input {
border-width: 2px;
}
.btn-primary {
border: 2px solid currentColor;
}
}
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}