Files
docs.a2v.space/public/css/custom.css
T

449 lines
8.6 KiB
CSS

:root {
--warm-bg: #ffffff;
--warm-primary: #1a1a1a;
--warm-text: #111111;
--warm-gray: #888888;
--warm-accent: #444444;
--warm-white: #ffffff;
--border-color: #d0d0d0;
}
body {
background-color: var(--warm-bg);
color: var(--warm-text);
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 1rem;
min-height: 100vh;
display: flex;
flex-direction: column;
line-height: 1.7;
}
.site-header {
background-color: var(--warm-primary);
padding: 0.5rem 0;
border-bottom: 3px solid var(--warm-primary);
}
.site-header .navbar-brand {
color: var(--warm-white);
font-weight: 700;
letter-spacing: 1px;
text-transform: uppercase;
font-family: Georgia, "Times New Roman", Times, serif;
}
.site-header .nav-link {
color: rgba(255, 255, 255, 0.8);
padding: 0.5rem 1rem;
transition: color 0.2s;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.site-header .nav-link:hover,
.site-header .nav-link.active {
color: var(--warm-white);
background-color: rgba(255, 255, 255, 0.12);
border-radius: 2px;
}
.navbar-toggler {
border-color: rgba(255, 255, 255, 0.5);
}
.navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.search-form input {
background-color: rgba(255, 255, 255, 0.9);
border: none;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.search-form input:focus {
background-color: #fff;
box-shadow: 0 0 0 2px var(--warm-accent);
}
.search-results {
position: absolute;
top: 100%;
right: 0;
left: 0;
background: var(--warm-white);
border-top: 1px solid var(--border-color);
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
z-index: 1000;
max-height: 400px;
overflow-y: auto;
}
.search-results-content {
padding: 1rem;
max-width: 600px;
margin: 0 auto;
}
.search-results ul {
list-style: none;
padding: 0;
margin: 0;
}
.search-results li {
padding: 0.5rem 0;
border-bottom: 1px solid var(--border-color);
}
.search-results li:last-child {
border-bottom: none;
}
.search-results a {
color: var(--warm-text);
text-decoration: none;
}
.search-results a:hover {
color: var(--warm-primary);
text-decoration: underline;
}
.sidebar {
background-color: var(--warm-white);
border-right: 1px solid var(--border-color);
min-height: calc(100vh - 60px);
padding: 1.5rem 1rem;
}
.sidebar-content h6 {
color: var(--warm-primary);
font-weight: 700;
margin-bottom: 0.75rem;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 1px;
border-bottom: 2px solid var(--warm-primary);
padding-bottom: 0.4rem;
}
.sidebar-content .nav-link {
color: var(--warm-text);
padding: 0.375rem 0.75rem;
border-radius: 2px;
font-size: 0.9rem;
}
.sidebar-content .nav-link:hover {
background-color: #f5f5f5;
}
.main-content {
padding: 2rem;
flex: 1;
}
.card {
background-color: var(--warm-white);
border: 1px solid var(--border-color);
border-radius: 2px;
transition: box-shadow 0.2s;
}
.card:hover {
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.card-title a {
color: var(--warm-text);
text-decoration: none;
}
.card-title a:hover {
color: var(--warm-primary);
text-decoration: underline;
}
.plan-card {
margin-bottom: 1rem;
}
.plan-card .status-badge {
font-size: 0.875rem;
}
.plan-card.planned {
border-left: 4px solid var(--warm-accent);
}
.plan-card.in-progress {
border-left: 4px solid #c4623a;
}
.plan-card.done {
border-left: 4px solid #2a2a2a;
opacity: 0.8;
}
.plan-card.cancelled {
border-left: 4px solid #999;
opacity: 0.6;
}
.diary-timeline {
position: relative;
padding-left: 2rem;
}
.diary-timeline::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 2px;
background-color: var(--warm-primary);
}
.diary-entry {
position: relative;
margin-bottom: 2rem;
padding-bottom: 1.5rem;
border-bottom: 1px solid var(--border-color);
}
.diary-entry:last-child {
border-bottom: none;
}
.diary-entry::before {
content: '';
position: absolute;
left: -2rem;
top: 0.5rem;
width: 10px;
height: 10px;
background-color: var(--warm-primary);
border-radius: 50%;
transform: translateX(-4px);
}
.diary-entry .time {
color: var(--warm-gray);
font-size: 0.875rem;
}
.diary-date {
color: var(--warm-primary);
font-weight: 700;
}
.creds-card {
position: relative;
}
.creds-card .encrypted-data {
font-family: monospace;
background: #f5f5f5;
padding: 1rem;
border-radius: 2px;
word-break: break-all;
font-size: 0.75rem;
}
.creds-card .decrypted-fields {
background: #f5f5f5;
padding: 1rem;
border-radius: 2px;
}
.creds-card .field-row {
display: flex;
margin-bottom: 0.5rem;
}
.creds-card .field-label {
font-weight: 600;
min-width: 100px;
color: var(--warm-gray);
}
.creds-card .field-value {
flex: 1;
font-family: monospace;
}
.source-path {
background-color: #f5f5f5;
border: 1px solid var(--border-color);
border-radius: 2px;
padding: 0.4rem 0.75rem;
display: inline-block;
}
.source-path code {
font-size: 0.82em;
color: var(--warm-gray);
}
.source-path .btn-outline-secondary {
font-size: 0.75rem;
border-color: var(--border-color);
}
.source-path .btn-outline-secondary:hover {
background-color: var(--warm-primary);
border-color: var(--warm-primary);
color: #fff;
}
.article-content {
background-color: var(--warm-white);
padding: 2rem;
border-radius: 2px;
border: 1px solid var(--border-color);
}
.article-content h1,
.article-content h2,
.article-content h3 {
color: var(--warm-text);
margin-top: 1.5rem;
}
.article-content h1 {
margin-top: 0;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--warm-primary);
font-size: 1.75rem;
}
.article-content h2 {
border-bottom: 1px solid var(--border-color);
padding-bottom: 0.3rem;
}
.article-content table {
width: 100%;
margin-bottom: 1rem;
background: var(--warm-white);
}
.article-content th {
background-color: var(--warm-primary);
color: white;
font-weight: 600;
}
.article-content th,
.article-content td {
padding: 0.75rem;
border: 1px solid var(--border-color);
}
.article-content code {
background-color: #f0f0f0;
padding: 0.2rem 0.4rem;
border-radius: 2px;
font-size: 0.9em;
}
.article-content pre {
background-color: #1a1a1a;
color: #e0e0e0;
padding: 1rem;
border-radius: 2px;
overflow-x: auto;
}
.article-content pre code {
background: none;
padding: 0;
}
.article-content a {
color: var(--warm-text);
text-decoration: underline;
text-underline-offset: 2px;
}
.article-content a:hover {
color: var(--warm-accent);
}
.tags {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-top: 1rem;
}
.tag {
background-color: #f5f5f5;
color: var(--warm-text);
padding: 0.25rem 0.75rem;
border-radius: 2px;
font-size: 0.8rem;
text-decoration: none;
border: 1px solid var(--border-color);
}
.tag:hover {
background-color: var(--warm-primary);
color: white;
border-color: var(--warm-primary);
}
.site-footer {
background-color: var(--warm-primary);
color: #ccc;
padding: 1rem 0;
margin-top: auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
font-size: 0.85rem;
}
@media (max-width: 767.98px) {
.sidebar {
position: fixed;
top: 60px;
left: 0;
bottom: 0;
z-index: 1000;
width: 280px;
transform: translateX(-100%);
transition: transform 0.3s;
}
.sidebar.show {
transform: translateX(0);
}
.main-content {
width: 100%;
padding: 1rem;
}
.search-form {
width: 100%;
margin-top: 0.5rem;
}
}
.context-quote {
background-color: #f5f5f5;
border-left: 3px solid var(--warm-accent);
padding: 1rem;
margin-top: 1rem;
font-style: italic;
}
.context-quote cite {
display: block;
text-align: right;
margin-top: 0.5rem;
font-style: normal;
color: var(--warm-gray);
}