369 lines
7.2 KiB
CSS
369 lines
7.2 KiB
CSS
|
|
/* VAPORA Custom Theme for mdBook */
|
||
|
|
|
||
|
|
:root {
|
||
|
|
/* Primary Colors */
|
||
|
|
--vapora-primary: #2563eb; /* Blue - Primary action */
|
||
|
|
--vapora-primary-dark: #1e40af; /* Darker blue */
|
||
|
|
--vapora-secondary: #7c3aed; /* Violet - Secondary */
|
||
|
|
--vapora-accent: #059669; /* Green - Success/Good */
|
||
|
|
--vapora-warning: #f59e0b; /* Amber - Warning */
|
||
|
|
--vapora-danger: #dc2626; /* Red - Danger */
|
||
|
|
|
||
|
|
/* Neutral Palette */
|
||
|
|
--vapora-bg-light: #ffffff;
|
||
|
|
--vapora-bg-dark: #0f172a;
|
||
|
|
--vapora-text-primary: #1e293b;
|
||
|
|
--vapora-text-secondary: #64748b;
|
||
|
|
--vapora-border: #e2e8f0;
|
||
|
|
--vapora-border-dark: #1e293b;
|
||
|
|
|
||
|
|
/* Typography */
|
||
|
|
--vapora-font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', sans-serif;
|
||
|
|
--vapora-mono-family: 'Fira Code', 'Source Code Pro', monospace;
|
||
|
|
}
|
||
|
|
|
||
|
|
html.dark {
|
||
|
|
--vapora-primary: #60a5fa;
|
||
|
|
--vapora-primary-dark: #3b82f6;
|
||
|
|
--vapora-secondary: #a78bfa;
|
||
|
|
--vapora-text-primary: #f1f5f9;
|
||
|
|
--vapora-text-secondary: #cbd5e1;
|
||
|
|
--vapora-border: #334155;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* General Typography */
|
||
|
|
body {
|
||
|
|
font-family: var(--vapora-font-family);
|
||
|
|
color: var(--vapora-text-primary);
|
||
|
|
}
|
||
|
|
|
||
|
|
code, pre {
|
||
|
|
font-family: var(--vapora-mono-family);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Headings */
|
||
|
|
h1, h2, h3, h4, h5, h6 {
|
||
|
|
color: var(--vapora-text-primary);
|
||
|
|
border-bottom: none;
|
||
|
|
margin-top: 1.5rem;
|
||
|
|
margin-bottom: 0.75rem;
|
||
|
|
font-weight: 700;
|
||
|
|
}
|
||
|
|
|
||
|
|
h1 {
|
||
|
|
font-size: 2rem;
|
||
|
|
color: var(--vapora-primary);
|
||
|
|
padding-bottom: 0.5rem;
|
||
|
|
border-bottom: 2px solid var(--vapora-primary);
|
||
|
|
}
|
||
|
|
|
||
|
|
h2 {
|
||
|
|
font-size: 1.5rem;
|
||
|
|
color: var(--vapora-primary-dark);
|
||
|
|
border-bottom: 1px solid var(--vapora-border);
|
||
|
|
padding-bottom: 0.5rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
h3 {
|
||
|
|
font-size: 1.25rem;
|
||
|
|
color: var(--vapora-secondary);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Links */
|
||
|
|
a {
|
||
|
|
color: var(--vapora-primary);
|
||
|
|
text-decoration: none;
|
||
|
|
border-bottom: 1px solid transparent;
|
||
|
|
transition: all 0.2s ease;
|
||
|
|
}
|
||
|
|
|
||
|
|
a:hover {
|
||
|
|
color: var(--vapora-primary-dark);
|
||
|
|
border-bottom-color: var(--vapora-primary);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Code Blocks */
|
||
|
|
pre {
|
||
|
|
background: var(--vapora-bg-dark);
|
||
|
|
color: #e0e0e0;
|
||
|
|
padding: 1rem;
|
||
|
|
border-radius: 6px;
|
||
|
|
border-left: 3px solid var(--vapora-primary);
|
||
|
|
overflow-x: auto;
|
||
|
|
line-height: 1.5;
|
||
|
|
}
|
||
|
|
|
||
|
|
pre > code {
|
||
|
|
color: #e0e0e0;
|
||
|
|
}
|
||
|
|
|
||
|
|
code {
|
||
|
|
background: rgba(156, 163, 175, 0.1);
|
||
|
|
padding: 0.2em 0.4em;
|
||
|
|
border-radius: 3px;
|
||
|
|
font-size: 0.9em;
|
||
|
|
color: var(--vapora-secondary);
|
||
|
|
}
|
||
|
|
|
||
|
|
pre code {
|
||
|
|
background: transparent;
|
||
|
|
padding: 0;
|
||
|
|
color: inherit;
|
||
|
|
}
|
||
|
|
|
||
|
|
html.dark code {
|
||
|
|
background: rgba(100, 116, 139, 0.3);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Tables */
|
||
|
|
table {
|
||
|
|
border-collapse: collapse;
|
||
|
|
width: 100%;
|
||
|
|
margin: 1rem 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
table th {
|
||
|
|
background: var(--vapora-primary);
|
||
|
|
color: white;
|
||
|
|
padding: 0.75rem;
|
||
|
|
text-align: left;
|
||
|
|
font-weight: 700;
|
||
|
|
}
|
||
|
|
|
||
|
|
table td {
|
||
|
|
border: 1px solid var(--vapora-border);
|
||
|
|
padding: 0.75rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
table tr:nth-child(even) {
|
||
|
|
background: rgba(156, 163, 175, 0.05);
|
||
|
|
}
|
||
|
|
|
||
|
|
html.dark table tr:nth-child(even) {
|
||
|
|
background: rgba(148, 163, 184, 0.1);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Blockquotes */
|
||
|
|
blockquote {
|
||
|
|
border-left: 4px solid var(--vapora-secondary);
|
||
|
|
padding: 0.5rem 1rem;
|
||
|
|
margin: 1rem 0;
|
||
|
|
background: rgba(124, 58, 237, 0.05);
|
||
|
|
color: var(--vapora-text-secondary);
|
||
|
|
}
|
||
|
|
|
||
|
|
html.dark blockquote {
|
||
|
|
background: rgba(167, 139, 250, 0.05);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Lists */
|
||
|
|
ul, ol {
|
||
|
|
margin: 1rem 0;
|
||
|
|
padding-left: 2rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
li {
|
||
|
|
margin: 0.5rem 0;
|
||
|
|
line-height: 1.6;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Buttons & Interactive Elements */
|
||
|
|
button, .button {
|
||
|
|
background: var(--vapora-primary);
|
||
|
|
color: white;
|
||
|
|
border: none;
|
||
|
|
padding: 0.5rem 1rem;
|
||
|
|
border-radius: 4px;
|
||
|
|
cursor: pointer;
|
||
|
|
transition: all 0.2s ease;
|
||
|
|
font-family: var(--vapora-font-family);
|
||
|
|
font-weight: 600;
|
||
|
|
}
|
||
|
|
|
||
|
|
button:hover, .button:hover {
|
||
|
|
background: var(--vapora-primary-dark);
|
||
|
|
box-shadow: 0 4px 6px rgba(37, 99, 235, 0.2);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Sidebar Styling */
|
||
|
|
.sidebar {
|
||
|
|
background: var(--vapora-bg-light);
|
||
|
|
border-right: 1px solid var(--vapora-border);
|
||
|
|
}
|
||
|
|
|
||
|
|
html.dark .sidebar {
|
||
|
|
background: var(--vapora-bg-dark);
|
||
|
|
border-right: 1px solid var(--vapora-border-dark);
|
||
|
|
}
|
||
|
|
|
||
|
|
.sidebar-scrollbox {
|
||
|
|
padding: 1rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
.sidebar a {
|
||
|
|
color: var(--vapora-text-primary);
|
||
|
|
display: block;
|
||
|
|
padding: 0.5rem 0.75rem;
|
||
|
|
margin: 0.25rem 0;
|
||
|
|
border-radius: 4px;
|
||
|
|
transition: all 0.2s ease;
|
||
|
|
}
|
||
|
|
|
||
|
|
.sidebar a:hover {
|
||
|
|
background: rgba(37, 99, 235, 0.1);
|
||
|
|
color: var(--vapora-primary);
|
||
|
|
border-bottom: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.sidebar li.chapter > a.active {
|
||
|
|
background: rgba(37, 99, 235, 0.15);
|
||
|
|
color: var(--vapora-primary);
|
||
|
|
font-weight: 600;
|
||
|
|
border-left: 3px solid var(--vapora-primary);
|
||
|
|
padding-left: calc(0.75rem - 3px);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Menu Bar */
|
||
|
|
#menu-bar {
|
||
|
|
background: var(--vapora-bg-light);
|
||
|
|
border-bottom: 1px solid var(--vapora-border);
|
||
|
|
}
|
||
|
|
|
||
|
|
html.dark #menu-bar {
|
||
|
|
background: var(--vapora-bg-dark);
|
||
|
|
border-bottom: 1px solid var(--vapora-border-dark);
|
||
|
|
}
|
||
|
|
|
||
|
|
#menu-bar h1 {
|
||
|
|
color: var(--vapora-primary);
|
||
|
|
border: none;
|
||
|
|
padding: 0;
|
||
|
|
margin: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Content Styling */
|
||
|
|
#content {
|
||
|
|
padding: 2rem;
|
||
|
|
max-width: 900px;
|
||
|
|
line-height: 1.8;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Admonitions / Info Boxes */
|
||
|
|
.admonition {
|
||
|
|
padding: 1rem;
|
||
|
|
border-radius: 6px;
|
||
|
|
border-left: 4px solid var(--vapora-primary);
|
||
|
|
margin: 1rem 0;
|
||
|
|
background: rgba(37, 99, 235, 0.05);
|
||
|
|
}
|
||
|
|
|
||
|
|
.admonition.note {
|
||
|
|
border-left-color: var(--vapora-primary);
|
||
|
|
background: rgba(37, 99, 235, 0.05);
|
||
|
|
}
|
||
|
|
|
||
|
|
.admonition.warning {
|
||
|
|
border-left-color: var(--vapora-warning);
|
||
|
|
background: rgba(245, 158, 11, 0.05);
|
||
|
|
}
|
||
|
|
|
||
|
|
.admonition.danger {
|
||
|
|
border-left-color: var(--vapora-danger);
|
||
|
|
background: rgba(220, 38, 38, 0.05);
|
||
|
|
}
|
||
|
|
|
||
|
|
.admonition.success {
|
||
|
|
border-left-color: var(--vapora-accent);
|
||
|
|
background: rgba(5, 150, 105, 0.05);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Navigation */
|
||
|
|
.nav-wrapper {
|
||
|
|
display: flex;
|
||
|
|
justify-content: space-between;
|
||
|
|
align-items: center;
|
||
|
|
margin-top: 2rem;
|
||
|
|
padding-top: 1rem;
|
||
|
|
border-top: 1px solid var(--vapora-border);
|
||
|
|
}
|
||
|
|
|
||
|
|
.nav-chapters {
|
||
|
|
color: var(--vapora-primary);
|
||
|
|
text-decoration: none;
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
padding: 0.5rem 1rem;
|
||
|
|
border-radius: 4px;
|
||
|
|
transition: all 0.2s ease;
|
||
|
|
}
|
||
|
|
|
||
|
|
.nav-chapters:hover {
|
||
|
|
background: rgba(37, 99, 235, 0.1);
|
||
|
|
color: var(--vapora-primary-dark);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Search Bar */
|
||
|
|
#searchbar {
|
||
|
|
background: var(--vapora-bg-light);
|
||
|
|
color: var(--vapora-text-primary);
|
||
|
|
border: 1px solid var(--vapora-border);
|
||
|
|
border-radius: 4px;
|
||
|
|
padding: 0.5rem 1rem;
|
||
|
|
font-family: var(--vapora-font-family);
|
||
|
|
}
|
||
|
|
|
||
|
|
html.dark #searchbar {
|
||
|
|
background: rgba(255, 255, 255, 0.05);
|
||
|
|
border-color: var(--vapora-border-dark);
|
||
|
|
color: var(--vapora-text-primary);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Responsive Design */
|
||
|
|
@media (max-width: 1200px) {
|
||
|
|
#content {
|
||
|
|
padding: 1.5rem;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
@media (max-width: 768px) {
|
||
|
|
#content {
|
||
|
|
padding: 1rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
h1 {
|
||
|
|
font-size: 1.5rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
h2 {
|
||
|
|
font-size: 1.25rem;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Print Styles */
|
||
|
|
@media print {
|
||
|
|
.sidebar,
|
||
|
|
#menu-bar,
|
||
|
|
.nav-wrapper {
|
||
|
|
display: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
#content {
|
||
|
|
padding: 0;
|
||
|
|
max-width: 100%;
|
||
|
|
}
|
||
|
|
|
||
|
|
a {
|
||
|
|
color: var(--vapora-primary);
|
||
|
|
}
|
||
|
|
|
||
|
|
code {
|
||
|
|
background: none;
|
||
|
|
color: inherit;
|
||
|
|
}
|
||
|
|
|
||
|
|
pre {
|
||
|
|
border: 1px solid var(--vapora-border);
|
||
|
|
page-break-inside: avoid;
|
||
|
|
}
|
||
|
|
}
|