122 lines
2.7 KiB
SCSS
122 lines
2.7 KiB
SCSS
@use './variables.scss' as vars;
|
|
|
|
// Reset and base styles
|
|
:root {
|
|
// Global transition for theme switching
|
|
--theme-transition-duration: 0.3s;
|
|
--theme-transition-timing: ease;
|
|
font-family: vars.$font-family;
|
|
line-height: vars.$line-height;
|
|
font-weight: vars.$font-weight-normal;
|
|
|
|
font-synthesis: none;
|
|
text-rendering: optimizeLegibility;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
// Default dark theme
|
|
:root, .dark-mode {
|
|
color-scheme: dark;
|
|
color: vars.$text-color-dark;
|
|
background-color: vars.$bg-color-dark;
|
|
|
|
// CSS variables for theming
|
|
--primary-color: #{vars.$primary-color};
|
|
--primary-hover-color: #{vars.$primary-hover-color};
|
|
--text-color: #{vars.$text-color-dark};
|
|
--text-color-secondary: #bbb;
|
|
--text-color-tertiary: #999;
|
|
--bg-color: #{vars.$bg-color-dark};
|
|
--sidebar-bg: #1e1e1e;
|
|
--sidebar-border: #333;
|
|
--card-bg: #2a2a2a;
|
|
--card-bg-secondary: #222;
|
|
--card-border: #444;
|
|
--primary-color-light: rgba(52, 152, 219, 0.2);
|
|
}
|
|
|
|
a {
|
|
font-weight: vars.$font-weight-medium;
|
|
color: vars.$primary-color;
|
|
text-decoration: inherit;
|
|
|
|
&:hover {
|
|
color: vars.$primary-hover-color;
|
|
}
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
min-width: 320px;
|
|
min-height: 100vh;
|
|
transition: background-color var(--theme-transition-duration) var(--theme-transition-timing),
|
|
color var(--theme-transition-duration) var(--theme-transition-timing);
|
|
}
|
|
|
|
h1 {
|
|
font-size: 2.5em;
|
|
line-height: 1.1;
|
|
}
|
|
|
|
button {
|
|
border-radius: 8px;
|
|
border: 1px solid transparent;
|
|
padding: 0.6em 1.2em;
|
|
font-size: 1em;
|
|
font-weight: vars.$font-weight-medium;
|
|
font-family: inherit;
|
|
background-color: vars.$button-bg-dark;
|
|
cursor: pointer;
|
|
transition: border-color 0.25s;
|
|
|
|
&:hover {
|
|
border-color: vars.$primary-color;
|
|
}
|
|
}
|
|
|
|
#app {
|
|
max-width: vars.$max-content-width;
|
|
margin: 0 auto;
|
|
padding: 1rem;
|
|
}
|
|
|
|
// Light mode theme
|
|
.light-mode {
|
|
color-scheme: light;
|
|
color: vars.$text-color-light;
|
|
background-color: vars.$bg-color-light;
|
|
|
|
// Update CSS variables for light mode
|
|
--primary-color: #{vars.$primary-color};
|
|
--primary-hover-color: #{vars.$primary-hover-color};
|
|
--text-color: #{vars.$text-color-light};
|
|
--text-color-secondary: #555;
|
|
--text-color-tertiary: #777;
|
|
--bg-color: #{vars.$bg-color-light};
|
|
--sidebar-bg: #fff;
|
|
--sidebar-border: #eee;
|
|
--card-bg: #fff;
|
|
--card-bg-secondary: #f9f9f9;
|
|
--card-border: #ddd;
|
|
--primary-color-light: rgba(52, 152, 219, 0.1);
|
|
|
|
button {
|
|
background-color: vars.$button-bg-light;
|
|
}
|
|
}
|
|
.breadcrumb {
|
|
border-bottom-color: var(--card-border);
|
|
|
|
li {
|
|
&:not(:last-child)::after {
|
|
color: var(--text-color-tertiary);
|
|
}
|
|
|
|
&.active {
|
|
color: var(--text-color);
|
|
}
|
|
}
|
|
} |