: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); }