180 lines
5.7 KiB
SCSS
180 lines
5.7 KiB
SCSS
@use 'bootstrap/scss/bootstrap';
|
|
|
|
:root {
|
|
--page-text: #142236;
|
|
--page-text-muted: rgba(39, 63, 91, 0.72);
|
|
--page-text-soft: rgba(39, 63, 91, 0.82);
|
|
--page-background:
|
|
radial-gradient(circle at top left, rgba(81, 168, 255, 0.2), transparent 30%),
|
|
radial-gradient(circle at top right, rgba(129, 244, 215, 0.22), transparent 24%),
|
|
linear-gradient(180deg, #f6fbff 0%, #e8f1fb 100%);
|
|
--panel-background: rgba(255, 255, 255, 0.82);
|
|
--panel-alt-background: rgba(241, 247, 255, 0.9);
|
|
--panel-soft-background: rgba(20, 34, 54, 0.04);
|
|
--surface-background: rgba(255, 255, 255, 0.82);
|
|
--surface-hover-background: rgba(235, 244, 255, 0.98);
|
|
--surface-border: rgba(33, 62, 94, 0.12);
|
|
--surface-border-soft: rgba(33, 62, 94, 0.08);
|
|
--input-background: rgba(255, 255, 255, 0.92);
|
|
--input-border: rgba(77, 114, 154, 0.26);
|
|
--placeholder-color: rgba(55, 83, 118, 0.52);
|
|
--accent-color: #138a7b;
|
|
--accent-color-soft: rgba(19, 138, 123, 0.1);
|
|
--accent-gradient: linear-gradient(135deg, #8df0df, #6cb6ff);
|
|
--accent-gradient-hover: linear-gradient(135deg, #a6f5e8, #86c4ff);
|
|
--link-color: #2f7cd6;
|
|
--badge-background: rgba(20, 34, 54, 0.08);
|
|
--incoming-bubble-background: #d9ebff;
|
|
--incoming-bubble-text: #183759;
|
|
--outgoing-bubble-background: #d9f5df;
|
|
--outgoing-bubble-text: #1e4d2f;
|
|
--danger-background: #d94b53;
|
|
--shadow-color: rgba(41, 73, 110, 0.14);
|
|
color-scheme: light;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
:root:not([data-theme]) {
|
|
--page-text: #eff3ff;
|
|
--page-text-muted: rgba(231, 238, 249, 0.72);
|
|
--page-text-soft: rgba(231, 238, 249, 0.84);
|
|
--page-background:
|
|
radial-gradient(circle at top left, rgba(129, 244, 215, 0.18), transparent 28%),
|
|
radial-gradient(circle at top right, rgba(85, 168, 255, 0.18), transparent 24%),
|
|
linear-gradient(180deg, #08111d 0%, #101d31 100%);
|
|
--panel-background: rgba(9, 16, 28, 0.78);
|
|
--panel-alt-background: rgba(15, 27, 44, 0.78);
|
|
--panel-soft-background: rgba(255, 255, 255, 0.04);
|
|
--surface-background: rgba(8, 14, 23, 0.7);
|
|
--surface-hover-background: rgba(16, 30, 49, 0.92);
|
|
--surface-border: rgba(255, 255, 255, 0.12);
|
|
--surface-border-soft: rgba(255, 255, 255, 0.08);
|
|
--input-background: rgba(255, 255, 255, 0.06);
|
|
--input-border: rgba(255, 255, 255, 0.16);
|
|
--placeholder-color: rgba(239, 243, 255, 0.5);
|
|
--accent-color: #81f4d7;
|
|
--accent-color-soft: rgba(129, 244, 215, 0.1);
|
|
--accent-gradient: linear-gradient(135deg, #81f4d7, #55a8ff);
|
|
--accent-gradient-hover: linear-gradient(135deg, #9bf7e0, #7abaff);
|
|
--link-color: #9bd5ff;
|
|
--badge-background: rgba(255, 255, 255, 0.08);
|
|
--incoming-bubble-background: #dcefff;
|
|
--incoming-bubble-text: #0f2540;
|
|
--outgoing-bubble-background: #def7dd;
|
|
--outgoing-bubble-text: #153420;
|
|
--danger-background: #d94b53;
|
|
--shadow-color: rgba(0, 0, 0, 0.28);
|
|
color-scheme: dark;
|
|
}
|
|
}
|
|
|
|
:root[data-theme='dark'] {
|
|
--page-text: #eff3ff;
|
|
--page-text-muted: rgba(231, 238, 249, 0.72);
|
|
--page-text-soft: rgba(231, 238, 249, 0.84);
|
|
--page-background:
|
|
radial-gradient(circle at top left, rgba(129, 244, 215, 0.18), transparent 28%),
|
|
radial-gradient(circle at top right, rgba(85, 168, 255, 0.18), transparent 24%),
|
|
linear-gradient(180deg, #08111d 0%, #101d31 100%);
|
|
--panel-background: rgba(9, 16, 28, 0.78);
|
|
--panel-alt-background: rgba(15, 27, 44, 0.78);
|
|
--panel-soft-background: rgba(255, 255, 255, 0.04);
|
|
--surface-background: rgba(8, 14, 23, 0.7);
|
|
--surface-hover-background: rgba(16, 30, 49, 0.92);
|
|
--surface-border: rgba(255, 255, 255, 0.12);
|
|
--surface-border-soft: rgba(255, 255, 255, 0.08);
|
|
--input-background: rgba(255, 255, 255, 0.06);
|
|
--input-border: rgba(255, 255, 255, 0.16);
|
|
--placeholder-color: rgba(239, 243, 255, 0.5);
|
|
--accent-color: #81f4d7;
|
|
--accent-color-soft: rgba(129, 244, 215, 0.1);
|
|
--accent-gradient: linear-gradient(135deg, #81f4d7, #55a8ff);
|
|
--accent-gradient-hover: linear-gradient(135deg, #9bf7e0, #7abaff);
|
|
--link-color: #9bd5ff;
|
|
--badge-background: rgba(255, 255, 255, 0.08);
|
|
--incoming-bubble-background: #dcefff;
|
|
--incoming-bubble-text: #0f2540;
|
|
--outgoing-bubble-background: #def7dd;
|
|
--outgoing-bubble-text: #153420;
|
|
--danger-background: #d94b53;
|
|
--shadow-color: rgba(0, 0, 0, 0.28);
|
|
color-scheme: dark;
|
|
}
|
|
|
|
:root[data-theme='light'] {
|
|
color-scheme: light;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
min-height: 100dvh;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
color: var(--page-text);
|
|
font-family: 'Space Grotesk', system-ui, sans-serif;
|
|
background: var(--page-background);
|
|
background-attachment: fixed;
|
|
transition:
|
|
background 180ms ease,
|
|
color 180ms ease,
|
|
border-color 180ms ease,
|
|
box-shadow 180ms ease;
|
|
}
|
|
|
|
button,
|
|
input,
|
|
textarea {
|
|
font: inherit;
|
|
}
|
|
|
|
.text-secondary {
|
|
color: var(--page-text-muted) !important;
|
|
}
|
|
|
|
.text-bg-dark {
|
|
color: var(--page-text) !important;
|
|
background: var(--badge-background) !important;
|
|
}
|
|
|
|
.btn-outline-light {
|
|
color: var(--page-text);
|
|
border-color: var(--surface-border);
|
|
}
|
|
|
|
.btn-outline-light:hover,
|
|
.btn-outline-light:focus-visible {
|
|
color: var(--page-text);
|
|
border-color: var(--surface-border);
|
|
background: var(--panel-soft-background);
|
|
}
|
|
|
|
.btn-outline-secondary {
|
|
color: var(--page-text-muted);
|
|
border-color: var(--surface-border);
|
|
}
|
|
|
|
.btn-outline-secondary:hover,
|
|
.btn-outline-secondary:focus-visible {
|
|
color: var(--page-text);
|
|
border-color: var(--surface-border);
|
|
background: var(--panel-soft-background);
|
|
}
|
|
|
|
.btn-outline-primary {
|
|
color: var(--link-color);
|
|
border-color: color-mix(in srgb, var(--link-color) 32%, transparent);
|
|
}
|
|
|
|
.btn-primary {
|
|
border-color: transparent;
|
|
background: var(--accent-gradient);
|
|
}
|
|
|
|
.alert-danger,
|
|
.alert-success,
|
|
.alert-warning {
|
|
border: 1px solid var(--surface-border);
|
|
}
|