Files
wehub-resource-sync e7738de6d2
CI / Deep Native Runtime Cases (1/6) (push) Has been skipped
CI / Native Preflight (push) Failing after 1s
CI / Native Runtime Cases (1/2) (push) Failing after 0s
CI / Native Runtime Cases (2/2) (push) Failing after 1s
CI / Native Metadata Reports (push) Failing after 0s
CI / Native Direct Backend Artifacts (push) Failing after 0s
CI / Native Sanitizer Smoke (push) Failing after 1s
CI / Command Contract Snapshots (push) Failing after 1s
CI / Deep Conformance Suite (push) Has been skipped
CI / Graph Build Perf (push) Failing after 1s
CI / Deep Native Preflight (push) Has been skipped
CI / Deep Native Runtime Cases (2/6) (push) Has been skipped
CI / Deep Native Runtime Cases (3/6) (push) Has been skipped
CI / Conformance Suite (push) Failing after 1s
CI / Workspace Checks (push) Failing after 0s
CI / Deep Native Runtime Cases (5/6) (push) Has been skipped
CI / Deep Native Runtime Cases (6/6) (push) Has been skipped
CI / Deep Native Runtime Cases (4/6) (push) Has been skipped
CI / Deep Graph Build Perf (push) Has been skipped
chore: import upstream snapshot with attribution
2026-07-13 12:29:30 +08:00

313 lines
7.4 KiB
CSS

@import "tailwindcss";
@plugin "@tailwindcss/typography";
@plugin "tailwindcss-animate";
@custom-variant dark (&:is(.dark *, .dark));
@theme {
--color-bg: #ffffff;
--color-fg: #171717;
--color-muted: #666666;
--color-border: #eaeaea;
--color-surface: #ffffff;
--color-surface-muted: #fafafa;
--color-accent: #000000;
--color-accent-fg: #ffffff;
--color-blue: #0070f3;
--color-blue-hover: #0060df;
--color-success: #0070f3;
--color-danger: #ee0000;
--color-danger-bg: #fff0f0;
--color-code-bg: #f5f5f5;
--color-code-fg: #171717;
--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
--container-content: 72rem;
--shadow-card: 0 4px 14px 0 rgb(0 0 0 / 0.1);
--shadow-soft: 0 2px 8px rgb(0 0 0 / 0.08);
}
.dark {
--color-bg: #000000;
--color-fg: #ededed;
--color-muted: #888888;
--color-border: #333333;
--color-surface: #111111;
--color-surface-muted: #0a0a0a;
--color-accent: #ffffff;
--color-accent-fg: #000000;
--color-blue: #3291ff;
--color-blue-hover: #52a9ff;
--color-danger: #ff4444;
--color-danger-bg: #2a0000;
--color-code-bg: #111111;
--color-code-fg: #ededed;
--shadow-card: 0 4px 14px 0 rgb(0 0 0 / 0.25);
--shadow-soft: 0 2px 8px rgb(0 0 0 / 0.2);
}
:root {
color-scheme: light;
}
.dark {
color-scheme: dark;
}
html {
background: var(--color-bg);
color: var(--color-fg);
font-family: var(--font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
body {
margin: 0;
min-height: 100vh;
}
::selection {
background: color-mix(in srgb, var(--color-blue) 25%, transparent);
}
/* ─── Shiki (rehype-pretty-code) ───────────────────── */
[data-rehype-pretty-code-figure] {
margin: 1.5rem 0;
}
[data-rehype-pretty-code-figure] pre {
overflow-x: auto;
padding: 1rem;
border: 1px solid var(--color-border);
border-radius: 0.5rem;
background: var(--color-code-bg);
font-size: 0.8125rem;
line-height: 1.6;
}
[data-rehype-pretty-code-figure] pre > code {
display: grid;
background: transparent;
padding: 0;
border: 0;
font-size: inherit;
color: inherit;
}
[data-rehype-pretty-code-figure] pre > code [data-line] {
padding: 0 0.25rem;
}
[data-rehype-pretty-code-title] {
padding: 0.5rem 1rem;
font-size: 0.75rem;
font-family: var(--font-mono);
color: var(--color-muted);
background: var(--color-surface);
border: 1px solid var(--color-border);
border-bottom: 0;
border-radius: 0.5rem 0.5rem 0 0;
}
[data-rehype-pretty-code-title] + pre {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.prose :where(h1, h2, h3, h4, h5, h6) a,
.prose :where(h1, h2, h3, h4, h5, h6) a:hover {
color: inherit;
font-weight: inherit;
text-decoration: none;
}
[data-rehype-pretty-code-figure] [data-theme] code {
color: inherit;
background-color: transparent;
}
[data-rehype-pretty-code-figure] span {
color: var(--shiki-light);
}
.dark [data-rehype-pretty-code-figure] span {
color: var(--shiki-dark);
}
/* ─── Inline syntax highlight (home page) ──────────── */
.hl-comment { color: #6b7280; font-style: italic; }
.hl-string { color: #067a6e; }
.hl-keyword { color: #d6409f; }
.hl-type { color: #0070c0; }
.hl-function { color: #6f42c1; }
.hl-number { color: #0070c0; }
.hl-variable { color: var(--color-fg); }
.hl-id { color: #6f42c1; }
.hl-key { color: #d6409f; }
.hl-boolean { color: #0070c0; }
.hl-punctuation { color: var(--color-fg); }
.hl-operator { color: #d6409f; }
.dark .hl-comment { color: #a1a1a1; }
.dark .hl-string { color: #00ca50; }
.dark .hl-keyword { color: #ff4d8d; }
.dark .hl-type { color: #c472fb; }
.dark .hl-function { color: #c472fb; }
.dark .hl-number { color: #47a8ff; }
.dark .hl-variable { color: #47a8ff; }
.dark .hl-id { color: #c472fb; }
.dark .hl-key { color: #ff4d8d; }
.dark .hl-boolean { color: #47a8ff; }
.dark .hl-punctuation { color: #ededed; }
.dark .hl-operator { color: #ff4d8d; }
.hl-bash-function {
color: var(--color-fg);
font-weight: 600;
}
.hl-bash-key { color: #0070f3; }
.hl-bash-string { color: #067a6e; }
.hl-bash-keyword { color: #d6409f; }
.hl-bash-variable { color: #6f42c1; }
.hl-bash-operator,
.hl-bash-punctuation {
color: var(--color-muted);
}
.hl-bash-number { color: var(--color-fg); }
.dark .hl-bash-function { color: #ffffff; }
.dark .hl-bash-key { color: #52a9ff; }
.dark .hl-bash-string { color: #00ca50; }
.dark .hl-bash-keyword { color: #ff4d8d; }
.dark .hl-bash-variable { color: #c472fb; }
.dark .hl-bash-operator,
.dark .hl-bash-punctuation {
color: #888888;
}
.dark .hl-bash-number { color: #ffffff; }
/* ─── Home chat motion ────────────────────────────── */
@keyframes home-chat-reveal {
from {
opacity: 0;
transform: translateY(0.875rem) scale(0.985);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
@keyframes home-command-sheen {
0% {
opacity: 0;
transform: translateX(-120%);
}
28% {
opacity: 0.18;
}
100% {
opacity: 0;
transform: translateX(120%);
}
}
.home-chat-shell {
transform-origin: center top;
}
.home-chat-code {
background: color-mix(in srgb, var(--color-fg) 9%, var(--color-bg));
border: 1px solid color-mix(in srgb, var(--color-fg) 14%, transparent);
border-radius: 0.375rem;
color: var(--color-fg);
font-family: var(--font-mono);
font-size: 0.78125rem;
padding: 0.125rem 0.45rem;
}
.home-chat-reveal,
.home-tool-row {
opacity: 0;
transform: translateY(0.875rem) scale(0.985);
will-change: opacity, transform;
}
.home-chat-viewport[data-chat-visible="true"] .home-chat-reveal,
.home-chat-viewport[data-chat-visible="true"] .home-tool-row {
animation: home-chat-reveal 620ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
animation-delay: var(--chat-delay, 0ms);
}
.home-tool-row {
position: relative;
}
.home-tool-row::after {
opacity: 0;
}
.home-chat-viewport[data-chat-visible="true"] .home-tool-row::after {
animation: home-command-sheen 1150ms ease-out forwards;
animation-delay: calc(var(--chat-delay, 0ms) + 140ms);
background: linear-gradient(
90deg,
transparent,
color-mix(in srgb, var(--color-fg) 18%, transparent),
transparent
);
content: "";
inset: 0;
pointer-events: none;
position: absolute;
transform: translateX(-120%);
}
@media (prefers-reduced-motion: reduce) {
.home-chat-reveal,
.home-tool-row {
animation: none;
opacity: 1;
transform: none;
}
.home-tool-row::after {
animation: none;
content: none;
}
}
/* ─── Prose adjustments ────────────────────────────── */
.prose pre {
background: var(--color-code-bg) !important;
color: var(--color-code-fg) !important;
}
.prose :where(code):not(:where([class~="not-prose"] *)) {
background: var(--color-surface-muted);
border: 1px solid var(--color-border);
border-radius: 0.25rem;
padding: 0.15rem 0.4rem;
font-weight: 400;
}
.prose :where(code):not(:where([class~="not-prose"] *))::before,
.prose :where(code):not(:where([class~="not-prose"] *))::after {
content: none;
}
.prose :where(pre code):not(:where([class~="not-prose"] *)) {
background: transparent;
border: 0;
padding: 0;
}