Files
Cloud-Blog/app/assets/css/main.css
2026-01-10 12:42:01 +08:00

144 lines
3.5 KiB
CSS

/* @import url("https://cdn.jsdelivr.net/npm/@chinese-fonts/maple-mono-cn@2.0.0/dist/MapleMono-CN-Regular/result.css"); */
/* @import url("https://fontsapi.zeoseven.com/292/main/result.css"); */
@import "tailwindcss";
@import "@nuxt/ui";
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";
@tailwind utilities;
@source "../../../content/**/*";
/* @import "@chinese-fonts/maple-mono-cn/dist/MapleMono-CN-Regular/results.css"; */
@custom-variant dark (&:where(.dark, .dark *));
/* @import "tailwindcss/preflight";
@tailwind utilities; */
/* @import "tailwindcss/preflight"; */
/* @imoprt "utilities"; */
/* @theme {
--font-roboto: "LXGW WenKai", sans-serif;
} */
/* 先定义计数器 */
pre[class*="language-"] {
counter-reset: line;
}
/* 每个代码行 <span> / <div> 前自增计数并打印 */
pre[class*="language-"] code > * {
counter-increment: line;
position: relative;
padding-left: 3rem; /* 行号留出空间 */
}
pre[class*="language-"] code > *::before {
content: counter(line);
position: absolute;
left: 0;
width: 2rem;
text-align: right;
color: #6b7280; /* Tailwind gray-500 */
}
@theme {
--font-roboto: "JetBrains Maple Mono", sans-serif;
--font-display: "JetBrains Maple Mono", sans-serif;
--font-mono: "JetBrains Maple Mono", monospace;
--font-display--font-feature-settings: "zero", "cv03", "ss03", "ss05", "cv97", "cv98";
}
html {
/* font-family: var(--font-roboto); */
font-family: "JetBrains Maple Mono";
font-weight: normal;
}
.text-primary {
color: var(--site-primary) !important;
}
.bg-primary {
background-color: var(--site-primary) !important;
}
.border-primary {
border-color: var(--site-primary) !important;
}
.bg-primary-10 {
/* Use computed RGB to form translucent background when available */
background-color: rgba(var(--site-primary-rgb), 0.08);
/* Fallback for browsers that support color-mix (optional) */
background-color: color-mix(in srgb, var(--site-primary) 8%, transparent);
}
.hover-bg-primary:hover {
background-color: var(--site-primary) !important;
}
.hover-text-primary:hover {
color: var(--site-primary) !important;
}
/* Support group hover coloring: apply to elements with class `group-text-primary` when parent has `group` */
.group:hover .group-text-primary {
color: var(--site-primary) !important;
}
/* Selection helper */
.selection-bg-primary::selection {
background-color: rgba(var(--site-primary-rgb), 0.3);
}
/* Primary gradient utilities */
.bg-primary-gradient {
background-image: linear-gradient(
135deg,
var(--site-primary),
color-mix(in srgb, var(--site-primary) 65%, white 35%)
);
}
.bg-primary-gradient-r {
background-image: linear-gradient(
90deg,
var(--site-primary),
color-mix(in srgb, var(--site-primary) 65%, white 35%)
);
}
/* Prose (content) color overrides to follow site primary */
.prose a {
color: var(--site-primary);
}
.dark .prose a {
color: var(--site-primary);
}
.prose a:hover {
text-decoration: underline;
}
.prose blockquote {
border-left-width: 4px;
border-left-style: solid;
border-left-color: var(--site-primary);
background-color: rgba(var(--site-primary-rgb), 0.05);
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.prose code {
color: var(--site-primary);
background-color: rgba(var(--site-primary-rgb), 0.08);
padding: 0.125rem 0.25rem;
border-radius: 0.25rem;
}
.prose pre {
background-color: var(--code-bg, #111827);
overflow-x: auto;
overflow-y: hidden;
}
.prose pre code {
white-space: pre;
}