mirror of
https://github.com/ChenQihan666/MyBlog-Next.git
synced 2026-08-14 07:33:07 +08:00
be172efa17
Updated background/border opacity to the new syntax: - border-skin-fill border-opacity-40 => border-skin-fill/40 - selection:bg-skin-accent selection:bg-opacity-70 => selection:bg-skin-accent/70
128 lines
3.7 KiB
CSS
128 lines
3.7 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer base {
|
|
:root,
|
|
html[data-theme="light"] {
|
|
--color-fill: 251, 254, 251;
|
|
--color-text-base: 40, 39, 40;
|
|
--color-accent: 0, 108, 172;
|
|
--color-card: 230, 230, 230;
|
|
--color-card-muted: 205, 205, 205;
|
|
--color-border: 236, 233, 233;
|
|
}
|
|
html[data-theme="dark"] {
|
|
--color-fill: 33, 39, 55;
|
|
--color-text-base: 234, 237, 243;
|
|
--color-accent: 255, 107, 1;
|
|
--color-card: 52, 63, 96;
|
|
--color-card-muted: 138, 51, 2;
|
|
--color-border: 171, 75, 8;
|
|
}
|
|
#sun-svg,
|
|
html[data-theme="dark"] #moon-svg {
|
|
display: none;
|
|
}
|
|
#moon-svg,
|
|
html[data-theme="dark"] #sun-svg {
|
|
display: block;
|
|
}
|
|
body {
|
|
@apply flex min-h-[100svh] flex-col bg-skin-fill font-mono text-skin-base selection:bg-skin-accent/70 selection:text-skin-inverted;
|
|
}
|
|
section,
|
|
footer {
|
|
@apply mx-auto max-w-3xl px-4;
|
|
}
|
|
a {
|
|
@apply outline-2 outline-offset-1 outline-skin-fill focus-visible:no-underline focus-visible:outline-dashed;
|
|
}
|
|
svg {
|
|
@apply inline-block h-6 w-6 fill-skin-base group-hover:fill-skin-accent;
|
|
}
|
|
svg.icon-tabler {
|
|
@apply inline-block h-6 w-6 scale-125 fill-transparent stroke-current stroke-2 opacity-90 group-hover:fill-transparent sm:scale-110;
|
|
}
|
|
.prose {
|
|
@apply prose-headings:!mb-3 prose-headings:!text-skin-base prose-h3:italic prose-p:!text-skin-base prose-a:!text-skin-base prose-a:!decoration-dashed prose-a:underline-offset-8 hover:prose-a:text-skin-accent prose-blockquote:!border-l-skin-accent/50 prose-blockquote:opacity-80 prose-figcaption:!text-skin-base prose-figcaption:opacity-70 prose-strong:!text-skin-base prose-code:rounded prose-code:bg-skin-card/75 prose-code:p-1 prose-code:before:!content-none prose-code:after:!content-none prose-ol:!text-skin-base prose-ul:overflow-x-clip prose-ul:!text-skin-base prose-li:marker:!text-skin-accent prose-table:text-skin-base prose-th:border prose-th:border-skin-line prose-td:border prose-td:border-skin-line prose-img:!my-2 prose-img:mx-auto prose-img:border-2 prose-img:border-skin-line prose-hr:!border-skin-line;
|
|
}
|
|
.prose a {
|
|
@apply break-words hover:!text-skin-accent;
|
|
}
|
|
.prose thead th:first-child,
|
|
tbody td:first-child,
|
|
tfoot td:first-child {
|
|
padding-left: 0.5714286em;
|
|
}
|
|
.prose h2#table-of-contents {
|
|
@apply mb-2;
|
|
}
|
|
.prose details {
|
|
@apply inline-block cursor-pointer select-none text-skin-base;
|
|
}
|
|
.prose summary {
|
|
@apply focus-outline;
|
|
}
|
|
.prose h2#table-of-contents + p {
|
|
@apply hidden;
|
|
}
|
|
|
|
/* ===== scrollbar ===== */
|
|
html {
|
|
overflow-y: scroll;
|
|
}
|
|
|
|
/* width */
|
|
::-webkit-scrollbar {
|
|
@apply w-3;
|
|
}
|
|
|
|
/* Track */
|
|
::-webkit-scrollbar-track {
|
|
@apply bg-skin-fill;
|
|
}
|
|
|
|
/* Handle */
|
|
::-webkit-scrollbar-thumb {
|
|
@apply bg-skin-card;
|
|
}
|
|
|
|
/* Handle on hover */
|
|
::-webkit-scrollbar-thumb:hover {
|
|
@apply bg-skin-card-muted;
|
|
}
|
|
|
|
/* ===== Code Blocks & Syntax Highlighting ===== */
|
|
pre:has(code) {
|
|
@apply border border-skin-line;
|
|
}
|
|
code,
|
|
blockquote {
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
pre > code {
|
|
white-space: pre;
|
|
}
|
|
|
|
/* Apply Dark Theme (if multi-theme specified) */
|
|
html[data-theme="dark"] pre:has(code),
|
|
html[data-theme="dark"] pre:has(code) span {
|
|
color: var(--shiki-dark) !important;
|
|
background-color: var(--shiki-dark-bg) !important;
|
|
font-style: var(--shiki-dark-font-style) !important;
|
|
font-weight: var(--shiki-dark-font-weight) !important;
|
|
text-decoration: var(--shiki-dark-text-decoration) !important;
|
|
}
|
|
}
|
|
|
|
@layer components {
|
|
.display-none {
|
|
@apply hidden;
|
|
}
|
|
.focus-outline {
|
|
@apply outline-2 outline-offset-1 outline-skin-fill focus-visible:no-underline focus-visible:outline-dashed;
|
|
}
|
|
}
|