Files
wechat-radar/app/globals.css
T

224 lines
5.0 KiB
CSS

@import "tailwindcss";
:root {
--bg: #f1efea;
--bg-2: #e8e5de;
--surface: #faf9f6;
--surface-2: #f1eee8;
--surface-3: #e5dfd6;
--border: #d8d2c8;
--border-soft: rgba(46, 42, 34, 0.12);
--text: #171814;
--text-2: #5e6459;
--text-3: #8b8b80;
--accent: #28745b;
--accent-2: #3a9d71;
--accent-soft: rgba(40, 116, 91, 0.12);
--warn: #9c6728;
--warn-soft: rgba(156, 103, 40, 0.12);
--danger: #b34242;
--danger-soft: rgba(179, 66, 66, 0.12);
--shadow: 0 18px 55px rgba(55, 47, 34, 0.09);
--chrome-bg: rgba(250, 249, 246, 0.86);
--sidebar-bg: rgba(248, 246, 239, 0.92);
--control-bg: rgba(250, 249, 246, 0.78);
--input-scheme: light;
}
[data-theme='dark'] {
--bg: #080b0a;
--bg-2: #0d1110;
--surface: #111511;
--surface-2: #171c17;
--surface-3: #20261f;
--border: #293029;
--border-soft: rgba(175, 190, 167, 0.13);
--text: #eef2eb;
--text-2: #b6bdb1;
--text-3: #80887d;
--accent: #7dd3a8;
--accent-2: #46b978;
--accent-soft: rgba(125, 211, 168, 0.13);
--warn: #d5a253;
--warn-soft: rgba(213, 162, 83, 0.14);
--danger: #df6b6b;
--danger-soft: rgba(223, 107, 107, 0.14);
--shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
--chrome-bg: rgba(8, 11, 10, 0.84);
--sidebar-bg: rgba(8, 11, 10, 0.9);
--control-bg: rgba(17, 22, 18, 0.86);
--input-scheme: dark;
}
@theme inline {
--color-bg: var(--bg);
--color-surface: var(--surface);
--color-surface-2: var(--surface-2);
--color-surface-3: var(--surface-3);
--color-border: var(--border);
--color-text: var(--text);
--color-text-2: var(--text-2);
--color-text-3: var(--text-3);
--color-accent: var(--accent);
--color-accent-2: var(--accent-2);
--color-warn: var(--warn);
--color-danger: var(--danger);
--font-sans: ui-sans-serif, system-ui, -apple-system, "PingFang SC",
"Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}
* {
box-sizing: border-box;
}
html,
body {
background: var(--bg);
color: var(--text);
font-family: var(--font-sans);
-webkit-font-smoothing: antialiased;
font-feature-settings: "tnum" 1;
}
body {
background:
linear-gradient(120deg, rgba(40, 116, 91, 0.08), transparent 34%),
linear-gradient(180deg, rgba(156, 103, 40, 0.08), transparent 30%),
var(--bg);
}
button,
input,
select,
textarea {
color: var(--text);
}
input,
select,
textarea {
color-scheme: var(--input-scheme);
}
input::placeholder,
textarea::placeholder {
color: var(--text-3);
}
:where(a, button, input, select, textarea):focus-visible {
outline: 2px solid color-mix(in srgb, var(--accent) 58%, transparent);
outline-offset: 2px;
}
[data-theme='dark'] body {
background: var(--bg);
}
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: color-mix(in srgb, var(--text-3) 42%, transparent);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: color-mix(in srgb, var(--accent) 55%, transparent);
}
.card {
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.35), transparent 48%),
var(--surface);
border: 1px solid var(--border-soft);
border-radius: 8px;
box-shadow: var(--shadow);
}
[data-theme='dark'] .card {
background: var(--surface);
box-shadow: var(--shadow);
}
.btn {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 6px 12px;
border-radius: 6px;
border: 1px solid var(--border-soft);
background: color-mix(in srgb, var(--control-bg) 86%, var(--surface));
color: var(--text);
font-size: 13px;
cursor: pointer;
transition: border-color 0.15s, background 0.15s, color 0.15s, opacity 0.15s;
}
.btn:hover {
border-color: rgba(125, 211, 168, 0.38);
background: var(--surface-2);
color: var(--text);
}
.btn:disabled {
cursor: wait;
opacity: 0.62;
}
.btn-active {
background: var(--accent-soft);
color: var(--accent);
border-color: rgba(125, 211, 168, 0.36);
}
.btn-warn {
background: var(--warn-soft);
color: var(--warn);
border-color: rgba(213, 162, 83, 0.38);
}
.btn-primary {
background: linear-gradient(180deg, var(--accent), var(--accent-2));
color: #fdfbf7;
border-color: var(--accent);
font-weight: 600;
}
.btn-primary:hover {
background: linear-gradient(180deg, var(--accent-2), var(--accent));
color: #fdfbf7;
}
[data-theme='dark'] .btn-primary,
[data-theme='dark'] .btn-primary:hover {
background: var(--accent);
color: #06100b;
}
.control-surface {
border: 1px solid var(--border-soft);
background: color-mix(in srgb, var(--control-bg) 88%, var(--surface));
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.28) inset;
color: var(--text);
}
.report-kicker {
color: var(--accent);
font-size: 10px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.signal-chip {
border: 1px solid rgba(125, 211, 168, 0.2);
background: var(--accent-soft);
color: var(--accent);
}
.theme-date-input {
color-scheme: var(--input-scheme);
}
.report-title {
font-family: "Noto Serif SC", "Songti SC", Georgia, serif;
letter-spacing: 0;
}