Files
Claude-Code-Workflow/docs/.vitepress/theme/styles/custom.css
catlog22 1bf9006d65 Refactor Chinese documentation for team skills and commands
- Removed outdated table of contents from commands-skills.md
- Updated skills overview in claude-collaboration.md with new skill names and descriptions
- Enhanced clarity and structure of skills details, including roles and pipelines
- Added new team skills: team-arch-opt, team-perf-opt, team-brainstorm, team-frontend, team-uidesign, team-issue, team-iterdev, team-quality-assurance, team-roadmap-dev, team-tech-debt, team-ultra-analyze
- Improved user command section for better usability
- Streamlined best practices for team skills usage
2026-03-02 22:49:52 +08:00

802 lines
19 KiB
CSS

/**
* VitePress Custom Styles
* Overrides and extensions for default VitePress theme
* Design System: ui-ux-pro-max — flat design, developer-focused, documentation-optimized
*/
/* ============================================
* Global Theme Variables
* ============================================ */
:root {
--vp-c-brand: var(--vp-c-primary);
--vp-c-brand-light: var(--vp-c-primary-300);
--vp-c-brand-lighter: var(--vp-c-primary-200);
--vp-c-brand-dark: var(--vp-c-primary-700);
--vp-c-brand-darker: var(--vp-c-primary-800);
--vp-home-hero-name-color: var(--vp-c-primary);
--vp-home-hero-name-background: linear-gradient(120deg, var(--vp-c-primary-500) 30%, var(--vp-c-secondary-500));
--vp-button-brand-bg: var(--vp-c-primary);
--vp-button-brand-hover-bg: var(--vp-c-primary-600);
--vp-button-brand-active-bg: var(--vp-c-primary-700);
--vp-custom-block-tip-bg: var(--vp-c-primary-50);
--vp-custom-block-tip-border: var(--vp-c-primary-200);
--vp-custom-block-tip-text: var(--vp-c-primary-700);
--vp-custom-block-warning-bg: var(--vp-c-accent-50);
--vp-custom-block-warning-border: var(--vp-c-accent-200);
--vp-custom-block-warning-text: var(--vp-c-accent-700);
--vp-custom-block-danger-bg: #fef2f2;
--vp-custom-block-danger-border: #fecaca;
--vp-custom-block-danger-text: #b91c1c;
/* Layout Width - Wider content area */
--vp-layout-max-width: 1600px;
--vp-content-width: 920px;
--vp-sidebar-width: 280px;
--vp-toc-width: 200px;
/* Prose width for optimal readability */
--vp-prose-width: 820px;
}
.dark {
--vp-custom-block-tip-bg: rgba(59, 130, 246, 0.1);
--vp-custom-block-tip-border: rgba(59, 130, 246, 0.3);
--vp-custom-block-tip-text: var(--vp-c-primary-300);
--vp-custom-block-warning-bg: rgba(217, 119, 6, 0.1);
--vp-custom-block-warning-border: rgba(217, 119, 6, 0.3);
--vp-custom-block-warning-text: var(--vp-c-accent-300);
--vp-custom-block-danger-bg: rgba(185, 28, 28, 0.1);
--vp-custom-block-danger-border: rgba(185, 28, 28, 0.3);
--vp-custom-block-danger-text: #fca5a5;
}
/* ============================================
* Layout Container Adjustments
* Use CSS variables in :root to control layout widths
* Do not override VitePress layout calculations with !important
* ============================================ */
/* Adjust sidebar and content layout */
/* NOTE: Removed duplicate padding-left - VitePress already handles sidebar layout */
/* .VPDoc, .VPDoc[data-v-343c73d6] { padding-left: var(--vp-sidebar-width) !important; } */
/* Right side outline (TOC) adjustments */
.VPDocOutline {
padding-left: 24px;
}
.VPDocOutline .outline-link {
font-size: 13px;
line-height: 1.6;
padding: 4px 8px;
}
/* ============================================
* Navigation Bar Border
* ============================================ */
.VPNav {
border-bottom: 1px solid var(--vp-c-divider);
}
/* ============================================
* Desktop Layout Adjustments
* Grid-based layout is defined in mobile.css @media (min-width: 1024px)
* ============================================ */
/* ============================================
* Home Page Override
* ============================================ */
/* Use :has() to detect home page (contains .pro-home) */
.VPContent:has(.pro-home) {
padding: 0 !important;
margin: 0 !important;
max-width: 100vw !important;
}
.Layout:has(.pro-home) {
max-width: 100vw !important;
}
/* Ensure VPNav doesn't cause overflow */
.Layout:has(.pro-home) .VPNav {
max-width: 100vw;
}
/* Home page navbar - reduce title left margin since no sidebar */
.Layout:has(.pro-home) .VPNavBar .content-body,
.Layout:has(.pro-home) .VPNavBar .title {
padding-left: 0 !important;
}
/* Ensure VPFooter doesn't cause overflow */
.Layout:has(.pro-home) .VPFooter {
max-width: 100vw;
padding-left: 1rem;
padding-right: 1rem;
box-sizing: border-box;
}
/* ProfessionalHome component full width */
.pro-home {
max-width: 100% !important;
padding: 0 !important;
margin: 0 !important;
width: 100% !important;
box-sizing: border-box !important;
}
/* Ensure all sections extend to full width */
.pro-home .hero-section,
.pro-home .features-section,
.pro-home .pipeline-section,
.pro-home .json-section,
.pro-home .quickstart-section,
.pro-home .cta-section {
width: 100% !important;
margin: 0 !important;
padding-left: 0 !important;
padding-right: 0 !important;
box-sizing: border-box !important;
max-width: 100vw !important;
}
.VPHomeHero {
padding: 80px 0;
background: linear-gradient(180deg, var(--vp-c-bg-soft) 0%, var(--vp-c-bg) 100%);
}
/* ============================================
* Documentation Content Typography
* Optimized for readability (65-75 chars per line)
* ============================================ */
.vp-doc {
font-family: var(--vp-font-family-base);
line-height: var(--vp-line-height-relaxed);
color: var(--vp-c-text-1);
}
/* Heading hierarchy with clear visual distinction */
.vp-doc h1 {
font-family: var(--vp-font-family-heading);
font-size: var(--vp-font-size-4xl);
font-weight: 800;
letter-spacing: -0.025em;
line-height: var(--vp-line-height-tight);
margin-bottom: var(--vp-spacing-8);
color: var(--vp-c-text-1);
}
.vp-doc h2 {
font-family: var(--vp-font-family-heading);
font-size: var(--vp-font-size-2xl);
font-weight: 700;
letter-spacing: -0.01em;
line-height: var(--vp-line-height-tight);
margin-top: var(--vp-spacing-12);
padding-top: var(--vp-spacing-8);
border-top: 1px solid var(--vp-c-divider);
color: var(--vp-c-text-1);
}
.vp-doc h2:first-of-type {
margin-top: var(--vp-spacing-6);
border-top: none;
}
.vp-doc h3 {
font-family: var(--vp-font-family-heading);
font-size: var(--vp-font-size-xl);
font-weight: 600;
line-height: var(--vp-line-height-snug);
margin-top: var(--vp-spacing-10);
color: var(--vp-c-text-1);
}
.vp-doc h4 {
font-family: var(--vp-font-family-heading);
font-size: var(--vp-font-size-lg);
font-weight: 600;
line-height: var(--vp-line-height-snug);
margin-top: var(--vp-spacing-8);
color: var(--vp-c-text-2);
}
.vp-doc h5 {
font-size: var(--vp-font-size-base);
font-weight: 600;
line-height: var(--vp-line-height-snug);
margin-top: var(--vp-spacing-6);
color: var(--vp-c-text-2);
}
.vp-doc h6 {
font-size: var(--vp-font-size-sm);
font-weight: 600;
line-height: var(--vp-line-height-snug);
margin-top: var(--vp-spacing-4);
color: var(--vp-c-text-3);
text-transform: uppercase;
letter-spacing: 0.05em;
}
/* Body text with optimal line height */
.vp-doc p {
font-size: var(--vp-font-size-base);
line-height: var(--vp-line-height-relaxed);
margin: var(--vp-spacing-5) 0;
max-width: var(--vp-prose-width);
}
/* Lists with proper spacing */
.vp-doc ul,
.vp-doc ol {
font-size: var(--vp-font-size-base);
line-height: var(--vp-line-height-relaxed);
margin: var(--vp-spacing-5) 0;
padding-left: var(--vp-spacing-6);
max-width: var(--vp-prose-width);
}
.vp-doc li {
line-height: var(--vp-line-height-relaxed);
margin: var(--vp-spacing-2) 0;
}
.vp-doc li + li {
margin-top: var(--vp-spacing-2);
}
/* Nested lists */
.vp-doc ul ul,
.vp-doc ol ol,
.vp-doc ul ol,
.vp-doc ol ul {
margin: var(--vp-spacing-2) 0;
}
/* Better spacing for code blocks in lists */
.vp-doc li > code {
margin: 0 2px;
}
/* Blockquotes */
.vp-doc blockquote {
margin: var(--vp-spacing-6) 0;
padding: var(--vp-spacing-4) var(--vp-spacing-6);
border-left: 4px solid var(--vp-c-primary);
background: var(--vp-c-bg-soft);
border-radius: 0 var(--vp-radius-lg) var(--vp-radius-lg) 0;
color: var(--vp-c-text-2);
font-style: italic;
}
.vp-doc blockquote p {
margin: var(--vp-spacing-2) 0;
}
/* Strong and emphasis */
.vp-doc strong {
font-weight: 600;
color: var(--vp-c-text-1);
}
.vp-doc em {
font-style: italic;
}
/* ============================================
* Command Reference Specific Styles
* ============================================ */
.vp-doc h3[id^="ccw"],
.vp-doc h3[id^="workflow"],
.vp-doc h3[id^="issue"],
.vp-doc h3[id^="cli"],
.vp-doc h3[id^="memory"] {
scroll-margin-top: 80px;
position: relative;
}
/* Add subtle separator between command sections */
.vp-doc hr {
border: none;
border-top: 1px solid var(--vp-c-divider);
margin: 3rem 0;
}
/* ============================================
* Custom Container Blocks
* Flat design with left accent border
* ============================================ */
.custom-container {
margin: var(--vp-spacing-6) 0;
padding: var(--vp-spacing-4) var(--vp-spacing-5);
border-radius: var(--vp-radius-xl);
border-left: 4px solid;
background: var(--vp-c-bg-soft);
box-shadow: var(--vp-shadow-xs);
}
.custom-container.info {
background: var(--vp-c-bg-soft);
border-color: var(--vp-c-primary);
}
.custom-container.success {
background: var(--vp-c-secondary-50);
border-color: var(--vp-c-secondary);
}
.dark .custom-container.success {
background: rgba(16, 185, 129, 0.08);
}
.custom-container.tip {
border-radius: var(--vp-radius-xl);
background: rgba(59, 130, 246, 0.05);
}
.custom-container.warning {
border-radius: var(--vp-radius-xl);
background: rgba(245, 158, 11, 0.05);
}
.custom-container.danger {
border-radius: var(--vp-radius-xl);
background: rgba(239, 68, 68, 0.05);
}
/* Custom container titles */
.custom-container .custom-container-title {
font-family: var(--vp-font-family-heading);
font-weight: 600;
font-size: var(--vp-font-size-sm);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: var(--vp-spacing-2);
}
/* VitePress default custom blocks */
.vp-doc .tip,
.vp-doc .warning,
.vp-doc .danger,
.vp-doc .info {
border-radius: var(--vp-radius-xl);
margin: var(--vp-spacing-6) 0;
padding: var(--vp-spacing-4) var(--vp-spacing-5);
box-shadow: var(--vp-shadow-xs);
}
.vp-doc .tip {
background: rgba(59, 130, 246, 0.05);
border-color: var(--vp-c-primary);
}
.vp-doc .warning {
background: rgba(245, 158, 11, 0.05);
border-color: var(--vp-c-accent);
}
.vp-doc .danger {
background: rgba(239, 68, 68, 0.05);
border-color: #ef4444;
}
.vp-doc .info {
background: var(--vp-c-bg-soft);
border-color: var(--vp-c-primary);
}
/* ============================================
* Code Block Improvements
* Clean, flat design with subtle borders
* ============================================ */
.vp-code-group {
margin: var(--vp-spacing-6) 0;
border-radius: var(--vp-radius-xl);
overflow: hidden;
border: 1px solid var(--vp-c-divider);
box-shadow: var(--vp-shadow-sm);
}
.vp-code-group .tabs {
background: var(--vp-c-bg-soft);
border-bottom: 1px solid var(--vp-c-divider);
padding: 0 var(--vp-spacing-2);
}
.vp-code-group div[class*='language-'] {
margin: 0;
border-radius: 0;
border: none;
}
div[class*='language-'] {
border-radius: var(--vp-radius-xl);
margin: var(--vp-spacing-6) 0;
border: 1px solid var(--vp-c-divider);
background: var(--vp-c-bg-soft) !important;
box-shadow: var(--vp-shadow-sm);
}
div[class*='language-'] pre {
line-height: var(--vp-line-height-relaxed);
padding: var(--vp-spacing-5) var(--vp-spacing-6);
}
div[class*='language-'] code {
font-family: var(--vp-font-family-mono);
font-size: var(--vp-font-size-sm);
font-weight: 400;
letter-spacing: -0.01em;
}
/* Code block header with language label */
div[class*='language-'] > span.lang {
font-size: var(--vp-font-size-xs);
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--vp-c-text-3);
padding: var(--vp-spacing-2) var(--vp-spacing-4);
background: var(--vp-c-bg-soft);
border-radius: var(--vp-radius-md);
}
/* Inline code - subtle styling */
.vp-doc :not(pre) > code {
font-family: var(--vp-font-family-mono);
border-radius: var(--vp-radius-md);
padding: 2px 6px;
font-size: 0.875em;
font-weight: 500;
background: var(--vp-c-bg-soft);
border: 1px solid var(--vp-c-divider);
color: var(--vp-c-primary);
}
/* Copy button styling */
.vp-code-group .vp-copy,
div[class*='language-'] .vp-copy {
border-radius: var(--vp-radius-md);
transition: all var(--vp-transition-color);
}
.vp-code-group .vp-copy:hover,
div[class*='language-'] .vp-copy:hover {
background: var(--vp-c-bg-mute);
}
/* ============================================
* Table Styling
* Clean, flat design with subtle borders
* ============================================ */
.vp-doc table {
border-collapse: collapse;
width: 100%;
margin: var(--vp-spacing-6) 0;
}
.vp-doc table th,
.vp-doc table td {
padding: var(--vp-spacing-3) var(--vp-spacing-4);
border: 1px solid var(--vp-c-divider);
text-align: left;
font-size: var(--vp-font-size-sm);
line-height: var(--vp-line-height-normal);
}
.vp-doc table th {
background: var(--vp-c-bg-soft);
font-family: var(--vp-font-family-heading);
font-weight: 600;
font-size: var(--vp-font-size-xs);
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--vp-c-text-2);
border-bottom-width: 2px;
}
.vp-doc table td {
color: var(--vp-c-text-1);
vertical-align: top;
}
.vp-doc table tr:hover {
background: var(--vp-c-bg-soft);
}
.vp-doc table tr:hover td {
color: var(--vp-c-text-1);
}
/* Responsive tables */
@media (max-width: 767px) {
.vp-doc table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.vp-doc table th,
.vp-doc table td {
padding: var(--vp-spacing-2) var(--vp-spacing-3);
font-size: var(--vp-font-size-xs);
white-space: nowrap;
}
}
/* ============================================
* Sidebar Polish
* Clean, organized navigation
* ============================================ */
.VPSidebar {
background: var(--vp-c-bg);
border-right: 1px solid var(--vp-c-divider);
}
.VPSidebar .group + .group {
margin-top: var(--vp-spacing-4);
padding-top: var(--vp-spacing-4);
border-top: 1px solid var(--vp-c-divider);
}
/* Sidebar item styling */
.VPSidebar .VPSidebarItem .text {
font-size: var(--vp-font-size-sm);
line-height: var(--vp-line-height-normal);
transition: color var(--vp-transition-color);
}
.VPSidebar .VPSidebarItem .link:hover .text {
color: var(--vp-c-primary);
}
.VPSidebar .VPSidebarItem.is-active .link .text {
color: var(--vp-c-primary);
font-weight: 600;
}
/* Sidebar group titles */
.VPSidebar .VPSidebarGroup .title {
font-family: var(--vp-font-family-heading);
font-size: var(--vp-font-size-xs);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--vp-c-text-3);
padding: var(--vp-spacing-2) var(--vp-spacing-4);
}
/* ============================================
* Navigation Polish
* ============================================ */
.VPNav {
background: var(--vp-c-bg);
border-bottom: 1px solid var(--vp-c-divider);
box-shadow: var(--vp-shadow-xs);
}
.VPNavBar .title {
font-family: var(--vp-font-family-heading);
font-weight: 700;
font-size: var(--vp-font-size-lg);
color: var(--vp-c-text-1);
}
.VPNavBarMenu .VPNavBarMenuLink {
font-family: var(--vp-font-family-heading);
font-weight: 500;
font-size: var(--vp-font-size-sm);
transition: color var(--vp-transition-color);
}
.VPNavBarMenu .VPNavBarMenuLink:hover {
color: var(--vp-c-primary);
}
.VPNavBarMenu .VPNavBarMenuLink.active {
color: var(--vp-c-primary);
font-weight: 600;
}
/* ============================================
* Scrollbar Styling
* Subtle, flat design
* ============================================ */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: var(--vp-c-surface-2);
border-radius: var(--vp-radius-full);
border: 2px solid transparent;
background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
background: var(--vp-c-surface-3);
border: 2px solid transparent;
background-clip: padding-box;
}
/* Firefox scrollbar */
* {
scrollbar-width: thin;
scrollbar-color: var(--vp-c-surface-2) transparent;
}
/* ============================================
* TOC (Table of Contents) Polish
* Sticky positioning handled by grid layout in mobile.css
* ============================================ */
.VPDocOutline {
padding-left: 24px;
}
.VPDocOutline .outline-link {
font-family: var(--vp-font-family-base);
font-size: var(--vp-font-size-sm);
line-height: var(--vp-line-height-normal);
padding: var(--vp-spacing-1) var(--vp-spacing-2);
color: var(--vp-c-text-3);
transition: color var(--vp-transition-color);
border-radius: var(--vp-radius-md);
}
.VPDocOutline .outline-link:hover {
color: var(--vp-c-primary);
background: var(--vp-c-bg-soft);
}
.VPDocOutline .outline-link.is-active {
color: var(--vp-c-primary);
font-weight: 500;
background: var(--vp-c-bg-soft);
}
.VPDocOutline .outline-marker {
width: 2px;
background: var(--vp-c-primary);
border-radius: var(--vp-radius-full);
}
/* ============================================
* Link Improvements
* Clean, accessible link styling
* ============================================ */
a {
text-decoration: none;
color: var(--vp-c-primary);
transition: color var(--vp-transition-color);
cursor: pointer;
}
a:hover {
text-decoration: underline;
color: var(--vp-c-primary-600);
}
a:visited {
color: var(--vp-c-primary-700);
}
.dark a:visited {
color: var(--vp-c-primary-300);
}
/* External link indicator */
.vp-doc a[target="_blank"]::after {
content: " ↗";
font-size: 0.75em;
opacity: 0.7;
}
/* ============================================
* Button Improvements
* ============================================ */
.VPButton {
font-family: var(--vp-font-family-heading);
font-weight: 600;
font-size: var(--vp-font-size-sm);
padding: var(--vp-spacing-2-5) var(--vp-spacing-5);
border-radius: var(--vp-radius-lg);
transition: all var(--vp-transition-color);
cursor: pointer;
}
.VPButton.brand {
background: var(--vp-c-primary);
color: white;
border: none;
}
.VPButton.brand:hover {
background: var(--vp-c-primary-600);
transform: translateY(-1px);
box-shadow: var(--vp-shadow-md);
}
.VPButton.alt {
background: var(--vp-c-bg-soft);
color: var(--vp-c-text-1);
border: 1px solid var(--vp-c-divider);
}
.VPButton.alt:hover {
background: var(--vp-c-bg-mute);
border-color: var(--vp-c-primary);
}
/* ============================================
* Focus States — Accessibility
* Clear visible focus for keyboard navigation
* ============================================ */
:focus-visible {
outline: 2px solid var(--vp-c-primary);
outline-offset: 2px;
border-radius: var(--vp-radius-md);
}
/* Skip focus outline for mouse users */
:focus:not(:focus-visible) {
outline: none;
}
/* Better focus for interactive elements */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
outline: 2px solid var(--vp-c-primary);
outline-offset: 2px;
box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
}
/* ============================================
* Skip Link — Accessibility
* ============================================ */
.skip-link {
position: absolute;
top: -100px;
left: 0;
background: var(--vp-c-bg);
padding: 8px 16px;
z-index: 9999;
transition: top 0.3s;
}
.skip-link:focus {
top: 0;
}
/* ============================================
* Print Styles
* ============================================ */
@media print {
.VPNav,
.VPSidebar,
.skip-link {
display: none;
}
.VPContent {
margin: 0 !important;
padding: 0 !important;
}
}