mirror of
https://github.com/moku-project/Moku.git
synced 2026-06-13 01:09:56 -05:00
203 lines
4.3 KiB
CSS
203 lines
4.3 KiB
CSS
@import '$lib/components/settings/Settings.css';
|
|
@import '$lib/styles/themes.css';
|
|
|
|
:root {
|
|
--bg-void: #080808;
|
|
--bg-base: #0c0c0c;
|
|
--bg-surface: #101010;
|
|
--bg-raised: #151515;
|
|
--bg-overlay: #1a1a1a;
|
|
--bg-subtle: #202020;
|
|
|
|
--border-dim: #1c1c1c;
|
|
--border-base: #242424;
|
|
--border-strong: #2e2e2e;
|
|
--border-focus: #4a5c4a;
|
|
|
|
--text-primary: #f0efec;
|
|
--text-secondary: #c8c6c0;
|
|
--text-muted: #8a8880;
|
|
--text-faint: #4e4d4a;
|
|
--text-disabled: #2a2a28;
|
|
|
|
--accent: #6b8f6b;
|
|
--accent-dim: #2a3d2a;
|
|
--accent-muted: #1a251a;
|
|
--accent-fg: #a8c4a8;
|
|
--accent-bright: #8fb88f;
|
|
|
|
--color-error: #c47a7a;
|
|
--color-error-bg: #1f1212;
|
|
--color-success: #7aab7a;
|
|
--color-info: #7a9ec4;
|
|
--color-info-bg: #121a1f;
|
|
--color-read: #2e2e2c;
|
|
|
|
--dot-active: var(--accent);
|
|
--dot-inactive: var(--text-faint);
|
|
|
|
--t-fast: 0.08s ease;
|
|
--t-base: 0.14s ease;
|
|
--t-slow: 0.22s ease;
|
|
|
|
--radius-sm: 3px;
|
|
--radius-md: 5px;
|
|
--radius-lg: 7px;
|
|
--radius-xl: 10px;
|
|
--radius-2xl: 14px;
|
|
--radius-full: 9999px;
|
|
|
|
--sp-1: 4px;
|
|
--sp-2: 8px;
|
|
--sp-3: 12px;
|
|
--sp-4: 16px;
|
|
--sp-5: 20px;
|
|
--sp-6: 24px;
|
|
--sp-8: 32px;
|
|
--sp-10: 40px;
|
|
|
|
--sidebar-width: 52px;
|
|
--titlebar-height: 36px;
|
|
|
|
--font-ui: "DM Mono", "Fira Mono", ui-monospace, monospace;
|
|
--font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
|
|
|
|
--text-2xs: 10px;
|
|
--text-xs: 11px;
|
|
--text-sm: 12px;
|
|
--text-base: 13px;
|
|
--text-md: 14px;
|
|
--text-lg: 15px;
|
|
--text-xl: 17px;
|
|
--text-2xl: 20px;
|
|
--text-3xl: 24px;
|
|
|
|
--weight-normal: 400;
|
|
--weight-medium: 500;
|
|
--weight-semi: 600;
|
|
|
|
--leading-none: 1;
|
|
--leading-tight: 1.3;
|
|
--leading-snug: 1.45;
|
|
--leading-base: 1.6;
|
|
|
|
--tracking-tight: -0.02em;
|
|
--tracking-normal: 0;
|
|
--tracking-wide: 0.06em;
|
|
--tracking-wider: 0.1em;
|
|
|
|
--z-reader: 50;
|
|
--z-modal: 100;
|
|
--z-settings: 150;
|
|
}
|
|
|
|
*, *::before, *::after {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
html, body {
|
|
height: 100%;
|
|
overflow: hidden;
|
|
background: var(--bg-void);
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
#svelte {
|
|
height: 100%;
|
|
}
|
|
|
|
button {
|
|
cursor: pointer;
|
|
font: inherit;
|
|
color: inherit;
|
|
background: none;
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
|
|
input, textarea, select {
|
|
font: inherit;
|
|
color: inherit;
|
|
}
|
|
|
|
a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
ul, ol { list-style: none; }
|
|
|
|
img, svg { display: block; max-width: 100%; }
|
|
|
|
p { margin: 0; }
|
|
|
|
body {
|
|
font-family: var(--font-sans);
|
|
font-size: var(--text-base);
|
|
font-weight: var(--weight-normal);
|
|
line-height: var(--leading-base);
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
text-rendering: optimizeLegibility;
|
|
}
|
|
|
|
* {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: transparent transparent;
|
|
}
|
|
|
|
*::-webkit-scrollbar { width: 4px; height: 4px; }
|
|
*::-webkit-scrollbar-track { background: transparent; }
|
|
*::-webkit-scrollbar-thumb { background: transparent; border-radius: 99px; }
|
|
*::-webkit-scrollbar-thumb:hover { background: transparent; }
|
|
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; }
|
|
to { opacity: 1; }
|
|
}
|
|
|
|
@keyframes fadeUp {
|
|
from { opacity: 0; transform: translateY(5px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes fadeDown {
|
|
from { opacity: 0; transform: translateY(-5px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes scaleIn {
|
|
from { opacity: 0; transform: scale(0.97); }
|
|
to { opacity: 1; transform: scale(1); }
|
|
}
|
|
|
|
@keyframes spin {
|
|
from { transform: rotate(0deg); }
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0%, 100% { opacity: 1; }
|
|
50% { opacity: 0.35; }
|
|
}
|
|
|
|
@keyframes shimmer {
|
|
from { background-position: -200% 0; }
|
|
to { background-position: 200% 0; }
|
|
}
|
|
|
|
.anim-fade-in { animation: fadeIn 0.14s ease both; }
|
|
.anim-fade-up { animation: fadeUp 0.18s ease both; }
|
|
.anim-fade-down { animation: fadeDown 0.18s ease both; }
|
|
.anim-scale-in { animation: scaleIn 0.14s ease both; }
|
|
.anim-pulse { animation: pulse 1.6s ease infinite; }
|
|
.anim-spin { animation: spin 0.7s linear infinite; }
|
|
|
|
.skeleton {
|
|
background: linear-gradient(90deg, var(--bg-raised) 25%, var(--bg-overlay) 50%, var(--bg-raised) 75%);
|
|
background-size: 200% 100%;
|
|
animation: shimmer 1.4s ease infinite;
|
|
border-radius: var(--radius-sm);
|
|
} |