381 lines
7.1 KiB
Plaintext
381 lines
7.1 KiB
Plaintext
|
|
/* Rust Vibe Theme for Slidev */
|
||
|
|
/* Extends default theme with Rust-inspired colors and styling */
|
||
|
|
|
||
|
|
:root {
|
||
|
|
--rust-orange: #f74c00;
|
||
|
|
--rust-dark: #8b2500;
|
||
|
|
--rust-light: #ffa366;
|
||
|
|
--rust-gray: #2d3748;
|
||
|
|
--rust-dark-gray: #1a202c;
|
||
|
|
--rust-accent: #48bb78;
|
||
|
|
|
||
|
|
/* Override Slidev color variables */
|
||
|
|
--slidev-theme-primary: #f74c00;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Subtle background enhancement without breaking layout */
|
||
|
|
#slideshow .slidev-layout {
|
||
|
|
background-image: linear-gradient(135deg, rgba(26, 32, 44, 0.3) 0%, rgba(45, 55, 72, 0.3) 50%, rgba(26, 32, 44, 0.3) 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Enhanced code blocks */
|
||
|
|
.slidev-code,
|
||
|
|
.shiki-container {
|
||
|
|
border: 1px solid rgba(247, 76, 0, 0.3);
|
||
|
|
border-radius: 8px;
|
||
|
|
box-shadow: 0 4px 16px rgba(247, 76, 0, 0.2);
|
||
|
|
}
|
||
|
|
|
||
|
|
pre.shiki {
|
||
|
|
background: rgba(0, 0, 0, 0.6) !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Rust-themed syntax highlighting */
|
||
|
|
.token.keyword {
|
||
|
|
color: #ff6b6b !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.token.string {
|
||
|
|
color: #4ecdc4 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.token.function {
|
||
|
|
color: #ffe66d !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.token.comment {
|
||
|
|
color: #a8a8a8 !important;
|
||
|
|
font-style: italic;
|
||
|
|
}
|
||
|
|
|
||
|
|
.token.type {
|
||
|
|
color: var(--rust-orange) !important;
|
||
|
|
font-weight: bold;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Custom button styles */
|
||
|
|
.rust-button {
|
||
|
|
background: linear-gradient(45deg, var(--rust-orange), var(--rust-light));
|
||
|
|
border: none;
|
||
|
|
border-radius: 8px;
|
||
|
|
padding: 12px 24px;
|
||
|
|
color: white;
|
||
|
|
font-weight: bold;
|
||
|
|
cursor: pointer;
|
||
|
|
transition: all 0.3s ease;
|
||
|
|
box-shadow: 0 4px 16px rgba(247, 76, 0, 0.3);
|
||
|
|
}
|
||
|
|
|
||
|
|
.rust-button:hover {
|
||
|
|
transform: translateY(-2px);
|
||
|
|
box-shadow: 0 6px 20px rgba(247, 76, 0, 0.4);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Ferris animations */
|
||
|
|
@keyframes ferris-wave {
|
||
|
|
0%,
|
||
|
|
100% {
|
||
|
|
transform: rotate(-10deg);
|
||
|
|
}
|
||
|
|
50% {
|
||
|
|
transform: rotate(10deg);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.ferris-animate {
|
||
|
|
animation: ferris-wave 2s ease-in-out infinite;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Poll option styling */
|
||
|
|
.poll-option {
|
||
|
|
background: linear-gradient(
|
||
|
|
135deg,
|
||
|
|
rgba(247, 76, 0, 0.1),
|
||
|
|
rgba(247, 76, 0, 0.2)
|
||
|
|
);
|
||
|
|
border: 2px solid transparent;
|
||
|
|
border-radius: 12px;
|
||
|
|
padding: 16px;
|
||
|
|
margin: 8px 0;
|
||
|
|
cursor: pointer;
|
||
|
|
transition: all 0.3s ease;
|
||
|
|
position: relative;
|
||
|
|
overflow: hidden;
|
||
|
|
}
|
||
|
|
|
||
|
|
.poll-option::before {
|
||
|
|
content: "";
|
||
|
|
position: absolute;
|
||
|
|
top: 0;
|
||
|
|
left: -100%;
|
||
|
|
width: 100%;
|
||
|
|
height: 100%;
|
||
|
|
background: linear-gradient(
|
||
|
|
90deg,
|
||
|
|
transparent,
|
||
|
|
rgba(255, 255, 255, 0.1),
|
||
|
|
transparent
|
||
|
|
);
|
||
|
|
transition: left 0.5s;
|
||
|
|
}
|
||
|
|
|
||
|
|
.poll-option:hover {
|
||
|
|
border-color: var(--rust-orange);
|
||
|
|
transform: translateX(4px);
|
||
|
|
box-shadow: -4px 0 0 var(--rust-orange);
|
||
|
|
}
|
||
|
|
|
||
|
|
.poll-option:hover::before {
|
||
|
|
left: 100%;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Terminal simulation */
|
||
|
|
.terminal-simulation {
|
||
|
|
background: #000;
|
||
|
|
border-radius: 8px;
|
||
|
|
padding: 16px;
|
||
|
|
font-family: "JetBrains Mono", monospace;
|
||
|
|
color: #00ff00;
|
||
|
|
position: relative;
|
||
|
|
}
|
||
|
|
|
||
|
|
.terminal-simulation::before {
|
||
|
|
content: "● ● ●";
|
||
|
|
position: absolute;
|
||
|
|
top: 8px;
|
||
|
|
left: 12px;
|
||
|
|
color: #ff5f56;
|
||
|
|
font-size: 12px;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Performance badges */
|
||
|
|
.performance-card {
|
||
|
|
background: linear-gradient(135deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.8));
|
||
|
|
border: 1px solid rgba(247, 76, 0, 0.3);
|
||
|
|
border-radius: 12px;
|
||
|
|
padding: 20px;
|
||
|
|
position: relative;
|
||
|
|
overflow: hidden;
|
||
|
|
}
|
||
|
|
|
||
|
|
.performance-card::before {
|
||
|
|
content: "";
|
||
|
|
position: absolute;
|
||
|
|
top: 0;
|
||
|
|
left: 0;
|
||
|
|
right: 0;
|
||
|
|
height: 3px;
|
||
|
|
background: linear-gradient(90deg, var(--rust-orange), var(--rust-light));
|
||
|
|
}
|
||
|
|
|
||
|
|
.result-badge {
|
||
|
|
display: inline-block;
|
||
|
|
padding: 8px 16px;
|
||
|
|
border-radius: 20px;
|
||
|
|
font-weight: bold;
|
||
|
|
margin-top: 12px;
|
||
|
|
animation: pulse 2s infinite;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes pulse {
|
||
|
|
0%,
|
||
|
|
100% {
|
||
|
|
opacity: 1;
|
||
|
|
}
|
||
|
|
50% {
|
||
|
|
opacity: 0.7;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.slow {
|
||
|
|
background: linear-gradient(45deg, #ff4444, #cc1111);
|
||
|
|
color: white;
|
||
|
|
}
|
||
|
|
|
||
|
|
.medium {
|
||
|
|
background: linear-gradient(45deg, #ffaa00, #cc7700);
|
||
|
|
color: white;
|
||
|
|
}
|
||
|
|
|
||
|
|
.fast {
|
||
|
|
background: linear-gradient(45deg, #44ff44, #22cc22);
|
||
|
|
color: black;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Company cards */
|
||
|
|
.company-grid {
|
||
|
|
display: grid;
|
||
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||
|
|
gap: 16px;
|
||
|
|
margin: 20px 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.company-card {
|
||
|
|
background: linear-gradient(
|
||
|
|
135deg,
|
||
|
|
rgba(247, 76, 0, 0.1),
|
||
|
|
rgba(247, 76, 0, 0.2)
|
||
|
|
);
|
||
|
|
border: 1px solid var(--rust-orange);
|
||
|
|
border-radius: 8px;
|
||
|
|
padding: 16px;
|
||
|
|
text-align: center;
|
||
|
|
font-size: 0.9em;
|
||
|
|
transition: all 0.3s ease;
|
||
|
|
position: relative;
|
||
|
|
}
|
||
|
|
|
||
|
|
.company-card:hover {
|
||
|
|
transform: translateY(-4px);
|
||
|
|
box-shadow: 0 8px 24px rgba(247, 76, 0, 0.3);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Tool categories */
|
||
|
|
.tool-category {
|
||
|
|
background: linear-gradient(
|
||
|
|
135deg,
|
||
|
|
rgba(247, 76, 0, 0.05),
|
||
|
|
rgba(247, 76, 0, 0.15)
|
||
|
|
);
|
||
|
|
border: 1px solid rgba(247, 76, 0, 0.3);
|
||
|
|
border-radius: 12px;
|
||
|
|
padding: 24px;
|
||
|
|
position: relative;
|
||
|
|
}
|
||
|
|
|
||
|
|
.tool-category h2 {
|
||
|
|
color: var(--rust-orange);
|
||
|
|
margin-bottom: 16px;
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
gap: 8px;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Custom scrollbar */
|
||
|
|
::-webkit-scrollbar {
|
||
|
|
width: 8px;
|
||
|
|
}
|
||
|
|
|
||
|
|
::-webkit-scrollbar-track {
|
||
|
|
background: var(--rust-dark-gray);
|
||
|
|
}
|
||
|
|
|
||
|
|
::-webkit-scrollbar-thumb {
|
||
|
|
background: var(--rust-orange);
|
||
|
|
border-radius: 4px;
|
||
|
|
}
|
||
|
|
|
||
|
|
::-webkit-scrollbar-thumb:hover {
|
||
|
|
background: var(--rust-light);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Slide transitions */
|
||
|
|
.slide-enter-active,
|
||
|
|
.slide-leave-active {
|
||
|
|
transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||
|
|
}
|
||
|
|
|
||
|
|
.slide-enter-from {
|
||
|
|
opacity: 0;
|
||
|
|
transform: translateX(50px);
|
||
|
|
}
|
||
|
|
|
||
|
|
.slide-leave-to {
|
||
|
|
opacity: 0;
|
||
|
|
transform: translateX(-50px);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* QR Code styling */
|
||
|
|
.qr-code {
|
||
|
|
background: white;
|
||
|
|
padding: 16px;
|
||
|
|
border-radius: 8px;
|
||
|
|
display: inline-block;
|
||
|
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Interactive elements */
|
||
|
|
.interactive-demo {
|
||
|
|
border: 2px dashed var(--rust-orange);
|
||
|
|
border-radius: 8px;
|
||
|
|
padding: 20px;
|
||
|
|
background: rgba(247, 76, 0, 0.05);
|
||
|
|
position: relative;
|
||
|
|
}
|
||
|
|
|
||
|
|
.interactive-demo::before {
|
||
|
|
content: "🔴 LIVE";
|
||
|
|
position: absolute;
|
||
|
|
top: -10px;
|
||
|
|
right: 20px;
|
||
|
|
background: #ff0000;
|
||
|
|
color: white;
|
||
|
|
padding: 4px 8px;
|
||
|
|
border-radius: 4px;
|
||
|
|
font-size: 12px;
|
||
|
|
font-weight: bold;
|
||
|
|
animation: blink 1s infinite;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes blink {
|
||
|
|
0%,
|
||
|
|
50% {
|
||
|
|
opacity: 1;
|
||
|
|
}
|
||
|
|
51%,
|
||
|
|
100% {
|
||
|
|
opacity: 0.3;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Responsive design */
|
||
|
|
@media (max-width: 768px) {
|
||
|
|
.grid-cols-2,
|
||
|
|
.grid-cols-3 {
|
||
|
|
grid-template-columns: 1fr;
|
||
|
|
}
|
||
|
|
|
||
|
|
.poll-option {
|
||
|
|
font-size: 14px;
|
||
|
|
padding: 12px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.company-grid {
|
||
|
|
grid-template-columns: 1fr;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Print styles */
|
||
|
|
@media print {
|
||
|
|
.slidev-layout {
|
||
|
|
background: white !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.performance-card,
|
||
|
|
.tool-category,
|
||
|
|
.company-card {
|
||
|
|
border: 1px solid #ccc !important;
|
||
|
|
background: white !important;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.orange {
|
||
|
|
font-weight: bold;
|
||
|
|
color: #CE412B !important;
|
||
|
|
}
|
||
|
|
.code-line-num .slidev-code-wrapper {
|
||
|
|
border: 1px solid #FFFFFF;
|
||
|
|
border-radius: 25px;
|
||
|
|
}
|
||
|
|
.code-line-num pre.shiki {
|
||
|
|
counter-reset: codeblock-line;
|
||
|
|
|
||
|
|
.line {
|
||
|
|
counter-increment: codeblock-line;
|
||
|
|
|
||
|
|
&::before {
|
||
|
|
content: counter(codeblock-line);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|