:root { color-scheme: light; }
* { box-sizing: border-box; letter-spacing: 0; }
body { background: #fafbfc; color: #30383c; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif; font-size: 15px; line-height: 1.8; }
a { color: #176453; }
a:hover { color: #10181c; }
a:focus-visible,button:focus-visible,input:focus-visible { outline: 2px solid #176453; outline-offset: 4px; }
.container { max-width: 1160px; }
#header { padding-top: 52px; border-bottom: 1px solid #dde3e6; margin-bottom: 42px; background: #fff; }
.site-name { margin-bottom: 24px; text-align: left; }
.journal-eyebrow { font: 11px/1.5 ui-monospace,monospace; color: #788789; margin: 0 0 14px; }
#logo { font-family: inherit; font-size: 38px; font-weight: 650; color: #18262a; line-height: 1.2; }
.description { font-size: 14px; font-style: normal; color: #687778; margin-top: 13px; }
#nav-menu { border: 0; margin: 8px 0 0; padding: 0; }
#nav-menu a { display: inline-flex; align-items: center; min-height: 48px; margin: 0 20px 0 0; padding: 0 2px; border: 0; border-bottom: 2px solid transparent; color: #647071; }
#nav-menu a.current,#nav-menu a:hover { border-bottom-color: #287564; color: #153d33; background: transparent; }
.site-search { margin-top: 35px; }
#search input { min-height: 42px; background: #f5f7f8; border-color: #dce3e5; border-radius: 4px; padding-right: 40px; }
#main { padding-right: 28px; }
.post { margin: 0 0 36px; padding: 0 0 36px; border-bottom: 1px solid #dee4e6; }
.post-title { margin: 0 0 14px; font-size: 25px; line-height: 1.5; font-weight: 620; overflow-wrap: anywhere; text-align: left; }
.post-title a { color: #18282d; }
.post-meta { display: flex; flex-wrap: wrap; gap: 5px 15px; font-size: 12px; line-height: 1.8; margin-bottom: 16px; }
.post-meta li { padding: 0; margin: 0; border: 0; }
.post-content { line-height: 1.95; overflow-wrap: anywhere; }
.journal-list .post-content p { margin-bottom: 16px; color: #57686d; }
.journal-cover { display: block; margin-bottom: 22px; width: 100%; aspect-ratio: 16 / 8; overflow: hidden; border-radius: 6px; background: #edf1f3; }
.journal-cover img { display: block; width: 100%; height: 100%; object-fit: contain; }
.journal-read { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; border-bottom: 1px solid #adc4bd; font-size: 13px; font-weight: 550; }
#secondary { border-left-color: #e0e6e8; }
.widget { margin-bottom: 32px; }
.widget-title { color: #566a6d; font-size: 14px; font-weight: 600; }
.widget-list li { padding-block: 7px; line-height: 1.65; font-size: 13px; }
.widget-list a { color: #4c6266; }
.journal-single .post-title { font-size: 32px; line-height: 1.45; }
.post-content h2 { font-size: 22px; margin: 38px 0 14px; line-height: 1.5; }
.post-content h3 { font-size: 18px; }
.post-content figure { margin: 26px 0; }
.post-content figure img { width: 100%; max-height: 500px; object-fit: contain; border-radius: 4px; background: #edf1f3; }
.post-content figcaption { margin-top: 8px; color: #778588; font-size: 12px; }
.source-note { padding: 12px 0 12px 20px; border-left: 2px solid #74a79a; margin: 25px 0; color: #6a777a; font-size: 12px; }
.source-note p { margin: 4px 0; }
.commit-list { padding-left: 20px; font-size: 13px; }
.commit-list time { color: #748384; margin-right: 10px; font-variant-numeric: tabular-nums; }
.post-content table { display: block; max-width: 100%; overflow-x: auto; font-size: 13px; }
input,textarea,button { font: inherit; }
button.submit { min-height: 44px; padding: 8px 16px; background-color: #235b4e; border: 0; border-radius: 4px; color: #fff; }
#search button { padding: 0; min-height: 38px; background-color: transparent; }
#footer { color: #788587; border-top: 1px solid #dfe6e8; margin-top: 50px; padding: 32px 0; }
@media (max-width: 767px) {
  .container { padding-inline: 22px; }
  #header { padding-top: 30px; margin-bottom: 28px; }
  #logo { font-size: 29px; }
  .site-name { padding: 0; margin-bottom: 18px; }
  .description { max-width: 300px; line-height: 1.7; }
  #nav-menu { display: flex; flex-wrap: wrap; gap: 0 20px; text-align: left; }
  #nav-menu a { margin: 0; font-size: 13px; }
  #main { padding: 0; }
  .post-title { font-size: 22px; }
  .journal-single .post-title { font-size: 26px; }
  .post { margin-bottom: 28px; padding-bottom: 28px; }
  .journal-cover { aspect-ratio: 16 / 10; }
  .post-content { font-size: 15px; }
  .post-content h2 { font-size: 20px; }
  .post-meta { gap: 3px 12px; }
}
