the-khmer23-mandate / style.css
steake's picture
change the switch toggle to a button theme toggle
e128622 verified
:root {
--font-primary: 'Inter', system-ui, sans-serif;
--font-display: 'Playfair Display', serif;
/* Imperial Silk – Light Theme */
--color-porcelain: #fefefe;
--color-sandstone: #f7f5f2;
--color-champagne: #dbbfa3;
--color-ink: #111010;
--color-grey-soft: #4a4a4a;
/* Obsidian Luxe – Dark Theme */
--color-graphite: #0e0e0e;
--color-black-pearl: #161616;
--color-charcoal: #1f1f1f;
--color-rose-gold: #b48c67;
--color-alabaster: #e5e5e5;
}
[data-theme="dark"] {
--color-porcelain: var(--color-graphite);
--color-sandstone: var(--color-black-pearl);
--color-champagne: var(--color-rose-gold);
--color-ink: var(--color-alabaster);
--color-grey-soft: var(--color-alabaster);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: var(--font-primary);
color: var(--color-ink);
background-color: var(--color-porcelain);
line-height: 1.75rem;
transition: background-color .35s ease, color .35s ease;
}
.text-porcelain { color: var(--color-porcelain); }
.text-sandstone { color: var(--color-sandstone); }
.text-champagne { color: var(--color-champagne); }
.text-ink { color: var(--color-ink); }
.text-grey-soft { color: var(--color-grey-soft); }
.bg-porcelain { background-color: var(--color-porcelain); }
.bg-sandstone { background-color: var(--color-sandstone); }
.border-champagne { border-color: var(--color-champagne); }
.font-display { font-family: var(--font-display); }
.fade-in {
animation: fade .45s ease-in-out;
}
@keyframes fade {
0% { opacity: 0; transform: translateY(10px); }
100% { opacity: 1; transform: translateY(0); }
}
.pulse-glow {
animation: pulseGlow 1.8s infinite;
}
@keyframes pulseGlow {
0%, 100% { box-shadow: 0 0 0 0 rgba(180, 140, 103, 0); }
50% { box-shadow: 0 0 0 4px rgba(180, 140, 103, 0.23); }
}