devonthesofa_obsidian-note-.../styles/globals.css
2025-07-16 19:18:48 +02:00

134 lines
2.2 KiB
CSS

/* Global utility classes */
.status-plugin-hidden {
display: none !important;
}
.status-plugin-visible {
display: block !important;
}
.status-plugin-flex {
display: flex !important;
}
.status-plugin-inline-flex {
display: inline-flex !important;
}
.status-plugin-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.status-plugin-no-wrap {
white-space: nowrap;
}
.status-plugin-loading {
opacity: 0.6;
pointer-events: none;
}
.status-plugin-disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
/* Animation keyframes */
@keyframes statusFadeIn {
from {
opacity: 0;
transform: translateY(4px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes statusSlideIn {
from {
opacity: 0;
transform: scale(0.8) translateY(4px);
}
to {
opacity: 1;
transform: scale(1) translateY(0);
}
}
@keyframes statusPulse {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
@keyframes statusSpin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* Responsive design utilities */
@media (max-width: 768px) {
.status-plugin-mobile-hidden {
display: none !important;
}
.status-plugin-mobile-full-width {
width: 100% !important;
}
.status-plugin-mobile-stack {
flex-direction: column !important;
}
}
/* Theme-specific overrides */
.theme-dark {
--status-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
--status-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.4);
--status-shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.5);
}
.theme-light {
--status-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
--status-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.15);
--status-shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.2);
}
/* Focus styles for accessibility */
.status-plugin-focus-ring:focus {
outline: 2px solid var(--interactive-accent);
outline-offset: 2px;
}
/* High contrast mode support */
@media (prefers-contrast: high) {
.status-chip,
.status-badge,
.status-item,
.status-btn {
border-width: 2px;
}
}
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}