body { max-width: 800px; margin: 40px auto; padding: 0 20px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; line-height: 1.6; color: #333; } header { border: 1px solid #efefef; padding: 20px; margin-bottom: 40px; border-radius: 10px; text-align: center; } img { max-width: 100%; } hr { border: 1px solid #efefef; } h1 { margin: 0; } .header-logo { vertical-align: middle; } .blog-description { margin: 10px 0 0 0; color: #666; font-size: 0.9em; } .main-nav { margin-top: 15px; font-weight: bold; display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; } .nav-item { padding: 8px 15px; border: 1px solid #efefef; border-radius: 10px; color: #333; text-decoration: none; transition: all 0.2s ease; } .nav-item:hover { background-color: #f5f5f5; border-color: #0066cc; color: #0066cc; } /* Dropdown (one level, CSS-only, opens on hover / keyboard focus) */ .nav-dropdown { position: relative; display: inline-flex; } /* Match the plain .nav-item box exactly (it would otherwise be an inline element here) and vertically center the label with its caret. */ .nav-dropdown-toggle { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; } .nav-caret { font-size: 0.75em; } .nav-submenu { display: none; position: absolute; top: 100%; left: 0; margin-top: 6px; min-width: 160px; padding: 6px; background: #fff; border: 1px solid #efefef; border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); z-index: 100; } /* Invisible bridge across the gap so hover isn't lost between toggle and menu */ .nav-submenu::before { content: ""; position: absolute; top: -6px; left: 0; right: 0; height: 6px; } .nav-dropdown:hover > .nav-submenu, .nav-dropdown:focus-within > .nav-submenu { display: block; } .nav-submenu .nav-item { display: block; border: none; border-radius: 6px; text-align: left; white-space: nowrap; } a { color: #0066cc; text-decoration: none; font-size: 0.95em; } .post { padding: 15px; margin-top: 10px; border: 1px solid #efefef; border-radius: 10px; } .post-meta { color: #666; font-size: 0.9em; margin-bottom: 10px; } .post-title { margin: 10px 0; } .post-title a { color: #333; text-decoration: none; } .post-title a:hover { color: #0066cc; } footer { margin-top: 60px; padding-top: 20px; border-top: 1px solid #efefef; text-align: center; color: #666; font-size: 0.9em; } footer p { font-size: 0.7rem; } pre { background-color: #f1f1f1; padding: 10px; border: 1px solid #efefef; white-space: pre-wrap; }