Files
BrewJournal/src/index.css
2026-06-06 12:08:17 +05:30

142 lines
2.7 KiB
CSS

@import "tailwindcss";
@custom-variant dark (&:where(.dark, .dark *));
@theme {
--color-brew-bg: #FAF6F1;
--color-brew-bg2: #F3EDE4;
--color-brew-card: #FFFFFF;
--color-brew-text: #2C1810;
--color-brew-text2: #6B5744;
--color-brew-text3: #9C8B7A;
--color-brew-accent: #8B6914;
--color-brew-accent2: #C4941A;
--color-brew-border: #E8DFD3;
--color-brew-espresso: #5C3317;
--color-brew-coldbrew: #2F4F6F;
--color-brew-pourover: #8B6914;
--color-brew-danger: #B44040;
--color-brew-success: #4A7C59;
--font-serif: "Playfair Display", serif;
--font-sans: "Source Sans 3", sans-serif;
--radius-sm: 8px;
--radius-md: 12px;
--radius-lg: 20px;
--shadow-card: 0 1px 3px rgba(44,24,16,0.06), 0 4px 12px rgba(44,24,16,0.04);
--shadow-card-lg: 0 4px 16px rgba(44,24,16,0.08), 0 12px 32px rgba(44,24,16,0.06);
}
@layer base {
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scrollbar-gutter: stable;
font-family: "Source Sans 3", sans-serif;
background-color: #F3EDE4;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transition: background-color 0.2s ease, color 0.2s ease;
}
html.dark {
background-color: #0E0704;
}
body {
margin: 0;
background-color: #F3EDE4;
transition: background-color 0.2s ease, color 0.2s ease;
}
html.dark body {
background-color: #0E0704;
}
#root {
width: 100%;
min-height: 100svh;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
input, select, textarea {
font-family: "Source Sans 3", sans-serif;
}
button {
font-family: "Source Sans 3", sans-serif;
}
}
@layer utilities {
.font-serif {
font-family: "Playfair Display", serif;
}
.font-sans-brew {
font-family: "Source Sans 3", sans-serif;
}
/* Sync badge pulse animation */
.animate-sync-pulse {
animation: sync-pulse 1.5s infinite;
}
@keyframes sync-pulse {
0%, 100% { opacity: 0.3; }
50% { opacity: 1; }
}
/* Modal animations */
.animate-fade-in {
animation: fade-in 0.2s ease-out;
}
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
.animate-slide-up {
animation: slide-up 0.3s ease-out;
}
@keyframes slide-up {
from { transform: translateY(100%); }
to { transform: translateY(0); }
}
.animate-page-enter {
animation: page-enter 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes page-enter {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Brew method bar */
.brew-method-bar {
position: absolute;
left: 0;
top: 12px;
bottom: 12px;
width: 4px;
border-radius: 0 4px 4px 0;
}
}