body {
  font-family: 
    "Helvetica Neue", Helvetica, Arial, Gadget,
    "PingFang TC",   /* macOS/iOS 傳統中文 */
    "PingFang SC",   /* macOS/iOS 簡體中文 */
    "Noto Sans TC",  /* Google 思源黑體繁體 */
    "Noto Sans SC",  /* Google 思源黑體簡體 */
    "Microsoft JhengHei", /* Windows 正黑體 */
    "Microsoft YaHei",    /* Windows 微軟雅黑 */
    sans-serif;
  counter-reset: heading;
  margin: 0;
  font-size: 16px;
  font-weight: 400;

}


.main {
  margin: auto;
  max-width: 42em;
}

.main .header-bar {
  padding: 1em 0.8em 0.8em;
}

main {
  padding: 0.8em 0.8em 1.2em;
}

main > *:first-child {
  margin-top: 0;
}

img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

figure {
  margin: 0em;
}

figcaption {
  text-align: center;
  font-size: 0.9em;
  font-weight: bold;
}

iframe {
  max-width: 42em;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

li {
  margin: 0.5em;
  line-height: 1.6em;
}

p {
  line-height: 1.6em;
}

h1 { font-size: 1.8em;
     font-weight: bold;
     margin-block: 0.67em;
}
h2 { font-size: 1.5em;
     font-weight: bold;
}
h3 { font-size: 1.17em;
     font-weight: bold;
}
h4 { font-size: 1.12em;
     font-weight: bold;
}
h5 { font-size: .83em;
     font-weight: bold;
}
h6 { font-size: .75em;
     font-weight: bold;
}

a:active, a:focus {
  outline-style: solid;
  outline-width: thin;
}

a:focus-visible {
  outline-style: solid;
  outline-width: 2px;
  outline-offset: 2px;
}

header {
  justify-content: space-around;
  flex-direction: column;
}

/* navigation  */
nav {
  text-align: center;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  -webkit-flex-flow: column;
  display: flex;
  justify-content: space-between;
  flex-flow: column;
}

.nav-item {
  /* font-size: 1.3em; */
  text-decoration: none;
  /* font-weight: bold; */
  padding-right: 2px;
  margin:0px;
}

.nav-item-title {
  /* padding: 0.2em; */
}
nav > div {
  display: flex;         /* 讓子元素橫向排列 */
  gap: 1rem;             /* 控制間距 */
}

.nav-item {
  text-decoration: none; /* 拿掉底線 */
  padding: 0.5rem 0.1rem;  /* 增加內距 */
  text-transform: lowercase;
  font-weight: 600;
  letter-spacing: 0.04em;
  opacity: 0.85;
}

.nav-item:focus,
.nav-item:focus-visible,
.nav-item:active {
  outline: none;
}


.nav-item-title:hover {
  text-decoration: underline;
}

.nav-item-title {
  position: relative;
  padding-bottom: 0.15em;
}

.nav-item-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: var(--main-sec, #8aa9c4);
  opacity: 0;
  transform: scaleX(0.6);
  transform-origin: left;
  transition: transform 180ms ease, opacity 180ms ease;
}

.nav-item:hover .nav-item-title::after,
.nav-item.active .nav-item-title::after {
  opacity: 0.8;
  transform: scaleX(1);
}


pre {
  margin: 1em 0em 1em;
  padding: 0.5em 0.5em 0.5em;
  overflow-x: auto;
}

code {
  white-space: pre-wrap;       /* Since CSS 2.1 */
  white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
  white-space: -pre-wrap;      /* Opera 4-6 */
  white-space: -o-pre-wrap;    /* Opera 7 */
  word-wrap: break-word;       /* Internet Explorer 5.5+ */
  line-height: 1.6em;
}

blockquote {
  padding: 0.5em;
  padding-left: 1em;
  margin-left: 0.8em;
  margin-right: 0.8em;
}

th, td {
  padding: 0.5em;
}


/* site title  */
.siteTitle {
  /* font-size: 2.5em; */
  font-size: 25px;
  margin-bottom: 0.2em;
}

.siteTitle a {
  text-decoration: none;
}

.articleheader_data {
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  -webkit-flex-flow: row wrap;
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}

.post .title {
  text-align: left;
  margin-top: 0.3em;
  margin-bottom: 0.3em;
  padding-left: 0.5em;
  padding-right: 0.5em;
  font-size: 1.5em;
  color: var(--main-sec, #8aa9c4);
}


.post .content{
  padding: 0.6em 0.5em 0.8em;
}

.post .date {
  text-align: center;
}

.post {
  padding: 0.5em 0.5em 1em 0.5em;
  margin-top : 0;
  margin-bottom : 1.5em;
}

.post .content h1{
  margin: 1.2em 0em;
}

.post .content h2{
  margin: 1.2em 0em;
}

.post .content h3{
  margin: 1.2em 0em;
}

.post .content h4{
  margin: 1.2em 0em;
}

.post .content h5{
  margin: 1.2em 0em;
}

.post .content p{
  margin: 0.6em 0;
}

.post-footer-data {
  display: -webkit-flex;
  -webkit-flex-direction: column;
  -webkit-align-items: flex-start;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1em;
}

.post-footer hr {
  width: 100%;
}

.post-footer-data .date {
  text-align: right;
  margin-top: 0.3em;
  padding-bottom: 0.2em;
  font-size: 0.8em;
  /* font-weight: bold; */
}

.post-footer-data .updated {
  text-align: right;
  margin-top: 0.3em;
  padding-bottom: 0.2em;
  font-size: 0.8em;
  /* font-weight: bold; */
}

.post-footer-data .syndicate {
  margin-top: 0.3em;
  padding-bottom: 0.2em;
  font-size: 0.9em;
  font-weight: bold;
}

.post-footer-data .tag {
  font-weight: bold;
  margin-bottom: 1em;
}

.post-footer-data .categories {
  padding-top: 0.5em;
}

.post-footer-data .category {
  font-weight: bold;
}

.post-footer-data .series {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.content-item {
  /* margin-top: 0.5em; */
  /* padding: 0.1em 0.3em 0.5em 0.3em */
  padding-left: 10px;
  padding-right: 10px;
}

.content-item .meta{
  margin-top: 0.5em;
  padding-top: 0.5em;
  display: -webkit-flex;
  display:flex;
  flex-wrap: wrap;
  flex-direction: column;
  font-size: 0.7em;
}

.content-item .tags {
  margin-bottom: 0.3em;
  font-weight: bold;
}

.content-item .categories {
  margin-top: 0.3em;
  margin-bottom: 0.3em;
}

.content-item .category {
  font-weight: bold;
  display: inline-block;
}

.content-item .series {
  margin-top: 0.3em;
  margin-bottom: 0.3em;
}

.content-item .series-name {
  font-weight: bold;
  display: inline-block;
}

.content-item .date {
  /* font-size: 0.7em; */
  font-size: 10px;
  font-weight: bold;
  white-space: nowrap;
  /* text-align: right; */
}

.post-footer-menu {
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  display: flex;
  justify-content: space-between;

  font-size: 0.8em;
  margin: 0.5em 4em;
}

.post-prev a {
  text-decoration: none;
  font-weight: bold;
}

.post-next a {
  text-decoration: none;
  font-weight: bold;
}

.post-home a {
  text-decoration: none;
  font-weight: bold;
}

.copyright {
  font-size: smaller;
  text-align: center;
  margin-top: 1em;
}

.poweredby {
  font-size: smaller;
  text-align: center;
}

.poweredby a {
  text-decoration: none;
  text-decoration: underline;
}

.err-404 {
  margin: 3em;
  text-align: center;
}

.social-links-header {
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-flex-flow: row wrap;
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
}

.social-links-header a {
  text-decoration: none;
}

.social-links-footer {
  text-align: center;
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-flex-flow: row wrap;
  display: flex;
  justify-content: center;
  flex-flow: row wrap;

  margin-top: 0.5em;
}

.social-links-footer a {
  text-decoration: none;
}

.social-link {
  margin: 0.2em;
  font-size: 10px;

  font-weight: 300;
}

.archive-year {
  margin: 1.8em 0 1.4em;
  padding: 0.4em 0.8em 0.6em;
  background: var(--panel-bg-strong, rgba(101, 192, 215, 0.18));
  border-radius: 0.3em;
  border-bottom: 1px solid var(--border-color, #dddddd);
}

.archive-year > h2 {
  margin: 0 0 0.4em;
  text-align: left;
  letter-spacing: 0.06em;
  font-size: 1.05em;
  font-weight: 600;
  text-transform: none;
}

.archive-year-list {
  list-style: none;
  margin: 0.6em 0 1.2em;
  padding: 0.5em 0.8em 0.6em 1.4em;
  border-left: 3px solid var(--main-sec, #65c0d7);
  background: var(--panel-bg, rgba(101, 192, 215, 0.10));
  border-radius: 0.25em;
  position: relative;
}

.archive-year-list li {
  margin: 0.4em 0;
  line-height: 1.6em;
  display: flex;
  align-items: baseline;
  gap: 0.4em;
}

.archive-item-date {
  display: inline-block;
  min-width: 3.2em;
  color: var(--main-sec, #65c0d7);
  font-size: 0.85em;
  font-weight: 600;
  margin-right: 0.2em;
  line-height: 1.4em;
}

.archive-year-list li a {
  text-decoration: none;
  display: inline-block;
  padding: 0.1em 0;
  line-height: 1.4em;
}

.archive-year-list li a:hover {
  text-decoration: underline;
}

.archive-year-list li + li {
  border-top: 1px dashed rgba(101, 192, 215, 0.35);
  padding-top: 0.45em;
}

.archive-year-list li a {
  background: rgba(101, 192, 215, 0.06);
  border-radius: 0.2em;
  padding-right: 0.4em;
}


.archive-year-list li::before {
  content: "";
  display: inline-block;
  align-self: center;
  width: 0.35em;
  height: 0.35em;
  border-radius: 50%;
  background: var(--main-sec, #65c0d7);
}


.social-link:hover {
  text-decoration: underline;
}

.content-list {
  font-size: 1.2em;
}

.content-item a {
  text-decoration: none;
}

.content-list-date {
  font-size: 1.2em;
  margin-top: 0.5em;
  text-align: center;
}

.post-list {
  display: -webkit-flex;
  -webkit-justify-content: center;
  display: flex;
  justify-content: space-between;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.post-list .title {
  margin: 0em;
  font-size: 16px;
}

.post-list .date {
  margin: 0em;
  font-size: 12px;
}

.post-footer-data .category {
  font-weight: bold;
  display: inline-block;
}

.post-footer-data .category a {
  text-decoration: none;
}

.post-footer-data .series-name {
  display: inline-block;
}

.post-footer-data .series-name a {
  font-weight: bold;
  text-decoration: none;
}

.tag {
  display: inline-block;
}

.tag a {
  text-decoration: none;
}

/* micro post */

.post .micro-content{
  font-size: 1.1em;
  padding-left : 1em;
  padding-right : 1em;
}

.micro-footer-data {
  padding-bottom: 1em;
}

.micro-footer-data .date {
  text-align: left;
  margin-top: 0.3em;
  padding-bottom: 0.2em;
  font-size: 0.8em;
  padding-left: 1em;
}

.micro-footer-data .syndicate {
  margin-top: 0.3em;
  padding-bottom: 0.2em;
  font-size: 0.9em;
  padding-left: 1em;
}

.micro-footer-data .tags{
  display: flex;
  flex-wrap: wrap;
  padding-left: 1em;
}

.micro-footer-data .tag a {
  font-size: 0.9em;
}

/* summary list on main page  */

.post-preview {
  text-decoration: none;
  padding: 0.5em 0.5em 1em 0.5em;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}

.post-preview .title {
  margin-top: 0.3em;
  margin-bottom: 0.3em;
  
  margin-left: 8px;
}

.post-preview a {
  text-decoration: none;
}

.post-preview .summary {
  padding-left: 0.5em;
  padding-right: 0.5em;
  padding-top: 0.5em;
}

.post-preview .summary p {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  margin-inline-start: 0.em;
  margin-inline-end: 0em;
}

.post-preview .meta {
  font-size: 0.8em;
  font-weight: bold;
  padding: 0.3em 1em 0.5em 1em;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.post-preview .date {
  font-weight: bold;
  text-align: left;
  
}

.post-preview-date {
  display: block;
  font-size: 0.8em;
  font-weight: 600;
  color: var(--copyright, #8f9dad);
  white-space: nowrap;
  margin: 0 0 0.2em 8px;
  padding-bottom: 0.2em;
  border-bottom: 1px solid var(--divider-color, rgba(138, 157, 173, 0.35));
}

.post-preview .tags {
  font-weight: bold;
  text-align: left;
}

.post-preview .categories {
  font-weight: bold;
  text-align: left;
  display: inline-block;
}

.post .metadata {
  font-weight: 600;
  font-size: 0.8em;
  text-align: left;
  padding: 0.6em 1em 1em;
  line-height: 1.6em;
}

.post-date-line {
  padding-bottom: 0.2em;
  margin-bottom: 0.4em;
  border-bottom: 1px solid var(--border-color, #2a3440);
}

.post-title-divider {
  margin: 0;
  height: 1px;
  border: 0;
  background: var(--main-sec, #8aa9c4);
  opacity: 0.6;
}

.home-hero {
  padding: 1.2em 0.8em 0.8em;
  background: var(--panel-bg-strong, #273140);
  border-radius: 0.3em;
  border-bottom: 1px solid var(--divider-color, rgba(138, 157, 173, 0.35));
}

.home-title {
  margin: 0 0 0.3em;
  font-size: 2em;
  font-weight: 700;
  color: var(--main-sec, #8aa9c4);
}

.home-subtitle {
  margin: 0;
  font-size: 1em;
  color: var(--copyright, #8f9dad);
}

.home-section {
  padding: 0.8em 0.8em 0.4em;
  background: var(--panel-bg-strong, #273140);
  border-radius: 0.3em;
  margin-top: 0.8em;
}

.home-heading {
  margin: 0 0 0.4em;
  font-size: 1.25em;
  letter-spacing: 0.04em;
}

.home-list {
  margin: 0;
  padding-left: 1.2em;
}

.home-link {
  text-decoration: none;
  border-bottom: 1px solid var(--divider-color, rgba(138, 157, 173, 0.35));
}

.home-link:hover {
  color: var(--main-sec, #8aa9c4);
}

.metadata .tags .tag a {
  text-decoration: underline;
}

.metadata .categories a {
  text-decoration: underline;
}

.metadata .series a {
  text-decoration: underline;
}

.metadata .syndicate a {
  text-decoration: underline;
}

.rmore {
  margin-top: 0.5em;
  white-space:nowrap;
  text-align: right;
}

.rmore a {
  border-radius: 0.2em;
  padding: 0.3em;
}

/* terms list */
.terms {
  border-radius: 0.2em;
  width: 50%;
  margin: auto;
  margin-bottom: 1em;
}

.terms a {
  font-size: 1.2em;
  text-decoration: none;
}

.terms .term {
  padding: 0.5em;
}

.page-nav {
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-flex-flow: row wrap;
  display: flex;
  justify-content: center;
  flex-flow: row wrap;

  padding: 1em;
  font-weight: bold;
}

.page-nav a {
  text-decoration: none;
}

.page-num {
  text-align: center;
  margin-left: 1em;
  margin-right: 1em;
}

.content-list-title {
  text-align: center;
  margin-bottom: 0em;
}

.content-list-title a {
  text-decoration: none;
}

.term-list-title {
  text-align: center;
}

.term-list-title a {
  text-decoration: none;
}

.sitemap {
    margin: auto;
    width: 50%;
    font-size: 1.4em;
}

.__h_instagram .card-header {
  font-weight: bold;
  padding: 0.5em;
  text-align: center;
}

.__h_instagram .card-body {
  padding: 0.5em;
}

.author {
  text-align: center;
  vertical-align: middle;
  line-height: 1.8em;
  margin-top: 6em;
  margin-bottom: 6em;
  text-align: center;
  padding: 0 0.5em 0 0.5em;
}

.recent-post-list {
  margin-bottom: 6em;
  padding: 0 0.5em 0 0.5em;
}

.recent-post-item {
  display: -webkit-flex;
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 1em;
}

.recent-post-item .date{
  text-align: right;
  display:inline;
}

@media only screen and (min-width: 400px) {

  nav {
    flex-flow: row wrap;
  }

  .siteTitle {
    flex-grow: 2;
    text-align: left;
    flex-basis: 0;
  }

  .nav-item-title {
    /* font-size: 0.85em; */
    /* font-weight: bold; */
    font-size: 14px;
    font-weight: 100;
  }

  .social-links-header {
    font-size: 0.75em;
    -webkit-justify-content: left;
    -webkit-flex-flow: row wrap;
    justify-content: left;
    flex-flow: row wrap;
  }

  .social-link {
    font-weight: bold;
  }

  .social-links-footer {
    text-align: center;
    -webkit-justify-content: center;
    -webkit-flex-flow: row wrap;
    justify-content: center;
    flex-flow: row wrap;

    font-size: 0.75em;
  }
}


.alert-warning {
  padding-top: 0.01em;
  padding-bottom: 0.01em;
}

.alert-warning .alert-heading{
  font-weight: bold;
}

.alert-caution {
  padding-top: 0.01em;
  padding-bottom: 0.01em;
}

.alert-caution .alert-heading{
  font-weight: bold;
}

.alert-important {
  padding-top: 0.01em;
  padding-bottom: 0.01em;
}

.alert-important .alert-heading{
  font-weight: bold;
}

.alert-note {
  padding-top: 0.01em;
  padding-bottom: 0.01em;
}

.alert-note .alert-heading{
  font-weight: bold;
}

.alert-tip {
  padding-top: 0.01em;
  padding-bottom: 0.01em;
}

.alert-tip .alert-heading{
  font-weight: bold;
}

.related-content {
  text-decoration: none;
  padding: 0.5em 0.5em 0.5em 0.5em;
  margin-top: 2em;
  margin-bottom: 1.5em;
}

.related-content .title {
  margin-top: 0.5em;
  margin-left: 0.5em;
}

/* target the details element */
details { }

/* target the summary element */
details > summary {
  padding: 0.3em;
  text-decoration: underline;
}

/* target the children of the summary element */
details > summary > * {
}

/* target the content */
details > :not(summary) {
}
