:root { --warm-bg: #f5f0e8; --warm-primary: #c4623a; --warm-text: #3d3530; --warm-gray: #6b6560; --warm-accent: #d4a853; --warm-white: #fffdf9; } body { background-color: var(--warm-bg); color: var(--warm-text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 1rem; min-height: 100vh; display: flex; flex-direction: column; } /* Header */ .site-header { background-color: var(--warm-primary); padding: 0.5rem 0; } .site-header .navbar-brand { color: var(--warm-white); font-weight: 600; } .site-header .nav-link { color: rgba(255, 255, 255, 0.85); padding: 0.5rem 1rem; transition: color 0.2s; } .site-header .nav-link:hover, .site-header .nav-link.active { color: var(--warm-white); background-color: rgba(255, 255, 255, 0.1); border-radius: 4px; } .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; } .search-form input:focus { background-color: #fff; box-shadow: 0 0 0 2px var(--warm-accent); } /* Search Results */ .search-results { position: absolute; top: 100%; right: 0; left: 0; background: var(--warm-white); border-top: 1px solid var(--warm-gray); box-shadow: 0 4px 12px rgba(0,0,0,0.15); 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(--warm-bg); } .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); } /* Sidebar */ .sidebar { background-color: var(--warm-white); border-right: 1px solid #e0d8cc; min-height: calc(100vh - 60px); padding: 1.5rem 1rem; } .sidebar-content h6 { color: var(--warm-primary); font-weight: 600; margin-bottom: 0.75rem; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.5px; } .sidebar-content .nav-link { color: var(--warm-text); padding: 0.375rem 0.75rem; border-radius: 4px; font-size: 0.9rem; } .sidebar-content .nav-link:hover { background-color: var(--warm-bg); } /* Main Content */ .main-content { padding: 2rem; flex: 1; } /* Cards */ .card { background-color: var(--warm-white); border: 1px solid #e0d8cc; border-radius: 8px; transition: box-shadow 0.2s; } .card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); } .card-title a { color: var(--warm-text); text-decoration: none; } .card-title a:hover { color: var(--warm-primary); } /* Plan Cards */ .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 #e67e22; } .plan-card.done { border-left: 4px solid #27ae60; opacity: 0.8; } .plan-card.cancelled { border-left: 4px solid #e74c3c; opacity: 0.6; } /* Diary Timeline */ .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 #e0d8cc; } .diary-entry:last-child { border-bottom: none; } .diary-entry::before { content: ''; position: absolute; left: -2rem; top: 0.5rem; width: 12px; height: 12px; background-color: var(--warm-primary); border-radius: 50%; transform: translateX(-5px); } .diary-entry .time { color: var(--warm-gray); font-size: 0.875rem; } .diary-date { color: var(--warm-primary); font-weight: 600; } /* Credentials */ .creds-card { position: relative; } .creds-card .encrypted-data { font-family: monospace; background: var(--warm-bg); padding: 1rem; border-radius: 4px; word-break: break-all; font-size: 0.75rem; } .creds-card .decrypted-fields { background: var(--warm-bg); padding: 1rem; border-radius: 4px; } .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; } /* Article styles */ .article-content { background-color: var(--warm-white); padding: 2rem; border-radius: 8px; border: 1px solid #e0d8cc; } .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); } .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 #e0d8cc; } .article-content code { background-color: var(--warm-bg); padding: 0.2rem 0.4rem; border-radius: 3px; font-size: 0.9em; } .article-content pre { background-color: var(--warm-text); color: var(--warm-bg); padding: 1rem; border-radius: 4px; overflow-x: auto; } .article-content pre code { background: none; padding: 0; } .article-content a { color: var(--warm-primary); } .article-content a:hover { color: var(--warm-accent); } /* Tags */ .tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; } .tag { background-color: var(--warm-bg); color: var(--warm-gray); padding: 0.25rem 0.75rem; border-radius: 20px; font-size: 0.8rem; text-decoration: none; } .tag:hover { background-color: var(--warm-primary); color: white; } /* Footer */ .site-footer { background-color: var(--warm-text); color: var(--warm-bg); padding: 1rem 0; margin-top: auto; } /* Responsive */ @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 */ .context-quote { background-color: var(--warm-bg); border-left: 4px 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); }