managarten/apps-archived/uload/apps/web/src/app.css
Till-JS 61d181fbc2 chore: archive inactive projects to apps-archived/
Move inactive projects out of active workspace:
- bauntown (community website)
- maerchenzauber (AI story generation)
- memoro (voice memo app)
- news (news aggregation)
- nutriphi (nutrition tracking)
- reader (reading app)
- uload (URL shortener)
- wisekeep (AI wisdom extraction)

Update CLAUDE.md documentation:
- Add presi to active projects
- Document archived projects section
- Update workspace configuration

Archived apps can be re-activated by moving back to apps/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 07:03:59 +01:00

162 lines
3.7 KiB
CSS

@import 'tailwindcss';
@plugin '@tailwindcss/forms';
@plugin '@tailwindcss/typography';
/* Dark mode configuration */
@variant dark (&:where(.dark, .dark *));
/* Theme color utilities using CSS variables */
@theme {
--color-theme-primary: var(--theme-primary);
--color-theme-primary-hover: var(--theme-primary-hover);
--color-theme-background: var(--theme-background);
--color-theme-surface: var(--theme-surface);
--color-theme-surface-hover: var(--theme-surface-hover);
--color-theme-text: var(--theme-text);
--color-theme-text-muted: var(--theme-text-muted);
--color-theme-border: var(--theme-border);
--color-theme-accent: var(--theme-accent);
--color-theme-accent-hover: var(--theme-accent-hover);
}
/* Theme CSS Variables - will be overridden by theme presets */
:root {
--theme-primary: #171717;
--theme-primary-hover: #0a0a0a;
--theme-background: #fafafa;
--theme-surface: #ffffff;
--theme-surface-hover: #f5f5f5;
--theme-text: #171717;
--theme-text-muted: #737373;
--theme-border: #e5e5e5;
--theme-accent: #525252;
--theme-accent-hover: #404040;
--theme-font-family: Inter, system-ui, -apple-system, sans-serif;
/* Sonner Toast Styling - Light Mode */
--sonner-toast-gap: 8px;
--sonner-toast-padding: 16px;
--sonner-toast-border-radius: 12px;
--sonner-toast-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
/* Apply theme font to body */
body {
font-family: var(--theme-font-family);
}
/* Theme transition animation */
.theme-transitioning,
.theme-transitioning * {
transition:
background-color 0.3s ease,
color 0.3s ease,
border-color 0.3s ease,
fill 0.3s ease,
stroke 0.3s ease,
font-family 0.3s ease !important;
}
/* Ensure full viewport coverage */
html,
body {
@apply min-h-screen;
}
body {
font-family: var(--theme-font-family);
background-color: var(--theme-background);
}
@keyframes fade-in {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.animate-fade-in {
animation: fade-in 0.3s ease-out;
}
.animate-spin {
animation: spin 1s linear infinite;
}
/* Primary button class with proper contrast */
.btn-primary {
@apply bg-theme-primary text-theme-background hover:bg-theme-primary-hover;
}
/* Sonner Toast Custom Styles */
.sonner-toast {
font-family: var(--theme-font-family) !important;
}
.sonner-toast[data-type='success'] {
background-color: #10b981 !important;
color: white !important;
border: 1px solid #059669 !important;
}
.sonner-toast[data-type='error'] {
background-color: #ef4444 !important;
color: white !important;
border: 1px solid #dc2626 !important;
}
.sonner-toast[data-type='info'] {
background-color: #3b82f6 !important;
color: white !important;
border: 1px solid #2563eb !important;
}
.sonner-toast[data-type='warning'] {
background-color: #f59e0b !important;
color: white !important;
border: 1px solid #d97706 !important;
}
/* Dark mode toast styles */
.dark .sonner-toast {
background-color: #374151 !important;
color: #f3f4f6 !important;
border: 1px solid #4b5563 !important;
}
.dark .sonner-toast[data-type='success'] {
background-color: #065f46 !important;
color: #d1fae5 !important;
border: 1px solid #10b981 !important;
}
.dark .sonner-toast[data-type='error'] {
background-color: #7f1d1d !important;
color: #fee2e2 !important;
border: 1px solid #ef4444 !important;
}
.dark .sonner-toast[data-type='info'] {
background-color: #1e3a8a !important;
color: #dbeafe !important;
border: 1px solid #3b82f6 !important;
}
.dark .sonner-toast[data-type='warning'] {
background-color: #78350f !important;
color: #fef3c7 !important;
border: 1px solid #f59e0b !important;
}