/* Preserve the Minimal Mistakes dark theme; keep the homepage simple. */
.hk-home .page { float: none; width: 100%; padding-right: 0; }
.hk-home .page__inner-wrap { max-width: 42rem; margin-inline: auto; padding-block: clamp(1rem, 5vh, 3rem); }
.hk-home .page__title { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.2; margin-bottom: 1.5rem; }
.hk-introduction { max-width: 38rem; line-height: 1.7; }
.hk-home-links { display: flex; flex-direction: column; align-items: flex-start; gap: 0.3rem; margin-top: 1.5rem; }
.hk-home-links a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 0.35rem; }
.hk-writing-list li { margin-bottom: 1rem; }
.hk-writing-list time { font-size: 0.85rem; color: #c5cbd2; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #8ccfee; outline-offset: 4px; }
.page__content { overflow-wrap: break-word; }
.page__content a { text-underline-offset: 0.15em; }
.page__footer { color: #c5cbd2; opacity: 1 !important; }
.page__footer-copyright { font-size: 0.75rem; }
.page__footer a { color: #c5cbd2; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Keep search discoverable even when the external icon font is unavailable. */
.search__toggle { width: auto; min-width: 44px; min-height: 44px; }
.search__toggle::before { content: none; }
.search__toggle .fas { display: none; }

.sidebar { opacity: 1; }

.hk-home-photo { display: block; width: 112px; height: 112px; object-fit: cover; border-radius: 50%; margin: 0 0 1.25rem; }
.hk-navigation { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-width: 0; }
.hk-site-title { color: #eaeaea; font-weight: 700; text-decoration: none; }
.hk-desktop-links { display: flex; align-items: center; gap: 1.5rem; }
.hk-desktop-links a { color: #eaeaea; text-decoration: none; }
.hk-navigation .search__toggle { color: #8cd2d5; font: inherit; font-size: 0.85rem; background: transparent; border: 0; cursor: pointer; margin: 0; padding: 0.5rem; }
.hk-mobile-menu { display: none; }
@media (max-width: 767px) {
  .masthead__inner-wrap { padding-block: 0.5rem; }
  .hk-desktop-links { display: none; }
  .hk-mobile-menu { display: block; position: relative; }
  .hk-mobile-menu summary { display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; cursor: pointer; list-style: none; }
  .hk-mobile-menu summary::-webkit-details-marker { display: none; }
  .hk-mobile-menu summary:focus-visible { outline: 3px solid #8ccfee; outline-offset: 2px; }
  .hk-menu-icon { display: block; width: 24px; height: 18px; border-block: 2px solid #8cd2d5; position: relative; }
  .hk-menu-icon::after { content: ""; position: absolute; left: 0; right: 0; top: 6px; border-top: 2px solid #8cd2d5; }
  .hk-mobile-links { position: absolute; right: 0; top: calc(100% + 0.5rem); min-width: 12rem; max-width: calc(100vw - 2rem); padding: 0.5rem; background: #191d24; border: 1px solid #60666c; z-index: 30; }
  .hk-mobile-links a, .hk-mobile-links .search__toggle { display: flex; align-items: center; min-height: 44px; width: 100%; padding: 0.6rem 0.75rem; color: #eaeaea; font: inherit; text-align: left; text-decoration: none; }
  .hk-mobile-links a:hover, .hk-mobile-links button:hover { background: #303743; }
  .hk-home #main { margin-top: 1rem; }
  .hk-home .page__inner-wrap { padding-top: 0; }
  .hk-home .page__title { margin-bottom: 1rem; }
}
