/*
 * Oyiso Halo visual layer
 * Keep the original Oyiso layout rules and replace only the light palette
 * plus the few typography rules that materially improve long-form reading.
 */
:root {
  --theme-color-pri: #c87552;
  --theme-color-sub: #b48668;
  --theme-color-op70: rgba(200, 117, 82, .70);
  --theme-color-op50: rgba(200, 117, 82, .50);
  --theme-color-op30: rgba(200, 117, 82, .30);
  --theme-color-op20: rgba(200, 117, 82, .20);
  --theme-color-op15: rgba(200, 117, 82, .15);
  --theme-color-op10: rgba(200, 117, 82, .10);
  --theme-color-op05: rgba(200, 117, 82, .05);
  --html: #f5f0e8;
  --container: #fbf8f3;
  --header: rgba(251, 248, 243, .84);
  --header-m: #fbf8f3;
  --border-header: #ebe4da;
  --border-menu: #e8e0d6;
  --border-box: #e7dfd5;
  --border-pagination: #fffdf9;
  --border-hr: rgba(76, 62, 51, .16);
  --border-table: #ded4c8;
  --border-copyright: #e2d8cc;
  --bgc-box: #fffdf9;
  --bgc-single: #f8f4ee;
  --bgc-footer: #f0ebe3;
  --bgc-search-m: #f0ebe3;
  --bgc-menu: #fffdf9;
  --bgc-comment-bubble: #fffdf9;
  --text: #2e2924;
  --text-menu: #4d453e;
  --text-menu-hover: #776b61;
  --text-excerpt: #796f67;
  --text-footer: #81776e;
  --text-cc: #4d453e;
  --text-cc-logo: #e4dbd0;
  --text-svg: #71665d;
  --text-quote: #5d5148;
  --font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --halo-search-widget-base-font-family: var(--font-family);
  --halo-search-widget-base-rounded: 14px;
  --halo-search-widget-base-bg-color: #fffdf9;
  --halo-search-widget-primary-color: #c87552;
  --halo-search-widget-muted-color: #81776e;
  --halo-search-widget-content-color: #2e2924;
  --halo-search-widget-modal-bg-color: #fffdf9;
  --halo-search-widget-modal-layer-color: rgba(46, 41, 36, .42);
  --halo-search-widget-hit-bg-color: #f5f0e8;
  --halo-search-widget-divider-color: #e2d8cc;
  --halo-search-widget-kbd-border-color: #ded4c8;
  --halo-search-widget-kbd-shadow: 0 2px 0 #ded4c8;
}

html,
body,
button,
input,
textarea {
  font-family: var(--font-family);
}

.oyiso-halo {
  --theme-color-op70: color-mix(in srgb, var(--theme-color-pri) 70%, transparent);
  --theme-color-op50: color-mix(in srgb, var(--theme-color-pri) 50%, transparent);
  --theme-color-op30: color-mix(in srgb, var(--theme-color-pri) 30%, transparent);
  --theme-color-op20: color-mix(in srgb, var(--theme-color-pri) 20%, transparent);
  --theme-color-op15: color-mix(in srgb, var(--theme-color-pri) 15%, transparent);
  --theme-color-op10: color-mix(in srgb, var(--theme-color-pri) 10%, transparent);
  --theme-color-op05: color-mix(in srgb, var(--theme-color-pri) 5%, transparent);
}

.oyiso-halo main .post-content .content {
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: .012em;
}

.oyiso-halo main .post-content .content > p {
  margin-top: 1.15em;
  margin-bottom: 1.15em;
}

.oyiso-halo main .post-content .content h1,
.oyiso-halo main .post-content .content h2,
.oyiso-halo main .post-content .content h3,
.oyiso-halo main .post-content .content h4 {
  color: var(--text);
  letter-spacing: -.018em;
}

.oyiso-halo main .post-content .content blockquote {
  border-left-color: var(--theme-color-pri);
  background-color: var(--theme-color-op05);
}

.oyiso-halo main .post-content .content pre {
  border: 1px solid var(--border-box);
  box-shadow: 0 12px 30px rgba(74, 57, 43, .06);
}

.oyiso-halo main .post-content .content img {
  border-radius: 12px;
  max-width: 100%;
  height: auto;
}

.oyiso-halo main .post-content .content pre {
  max-width: 100%;
  overflow-x: auto;
}

.oyiso-halo main .popular ul li .cover .pic-box {
  width: 100%;
  height: 100%;
}

.oyiso-halo main .popular ul li .cover .pic-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.oyiso-halo .halo-comment-slot {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 0 24px 48px;
}

.oyiso-halo .halo-comment-slot > * {
  border-radius: 16px;
}

.oyiso-halo .halo-empty {
  color: var(--text-excerpt);
  text-align: center;
  padding: 48px 20px;
}

.oyiso-halo .post-meta .screen {
  padding-top: 0;
  padding-bottom: 10px;
}

.oyiso-halo .meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.oyiso-halo .meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--theme-color-op10);
  color: var(--theme-color-pri);
  font-size: 13px;
}

.oyiso-halo .post-tool .likes > span {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--text-menu-hover);
  font-size: 12px;
  line-height: 1.4;
  cursor: default;
}

.oyiso-halo .post-tool .likes > span svg {
  font-size: 20px;
}

.oyiso-halo .post-tool .likes > span p {
  padding: 0 2px 0 4px;
}

header .nav-menu .search-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

header .nav-menu .search-trigger:hover {
  background-color: var(--theme-color-op20);
}

.oyiso-halo .archive-description {
  max-width: 760px;
  margin: -22px auto 35px;
  color: var(--text-excerpt);
  text-align: center;
  line-height: 1.8;
}

.oyiso-halo .category-children {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 20px 20px;
}

.oyiso-halo .category-children a {
  color: var(--theme-color-pri);
  font-size: 14px;
}

/* Home1 keeps the original full-screen welcome composition while using the
 * Halo palette for everything below the fold. */
.oyiso-halo main.home1.active header .navbar {
  border-bottom-color: transparent;
}

.oyiso-halo main.home1.active header .title a,
.oyiso-halo main.home1.active header .nav-menu .menu > li > a,
.oyiso-halo main.home1.active header .nav-menu .right > * svg {
  color: rgba(255, 255, 255, .96);
  text-shadow: 0 1px 12px rgba(0, 0, 0, .28);
}

.oyiso-halo main.home1.active header .nav-menu .menu a:hover,
.oyiso-halo main.home1.active header .nav-menu .menu > li:hover > a,
.oyiso-halo main.home1.active header .nav-menu .menu .current-menu-item > a,
.oyiso-halo main.home1.active header .nav-menu .right > *:hover svg {
  color: var(--theme-color-pri);
}

.oyiso-halo main.home1.active header .menu-btn span {
  background-color: #fff;
}

.oyiso-halo header .navbar.navbar-animated {
  animation: oyiso-navbar-drop .65s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes oyiso-navbar-drop {
  from { opacity: 0; transform: translateY(-18px); }
  to { opacity: 1; transform: translateY(0); }
}

.oyiso-halo main.home1 .home1-bannar .screen .imgbox::before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, .72), transparent);
}

.oyiso-halo main.home1 .home1-bannar .screen .imgbox::after {
  background: rgba(0, 0, 0, .28);
}

.oyiso-halo main.home1 .home1-bannar .screen .imgbox .nav-news .text {
  text-shadow: 0 2px 24px rgba(0, 0, 0, .26);
}

.oyiso-halo main.home1 .home1-bannar .screen .imgbox .nav-news .text > h1,
.oyiso-halo main.home1 .home1-bannar .screen .imgbox .nav-news .text > p {
  font-family: Georgia, "Songti SC", "STSong", "Noto Serif CJK SC", serif;
}

.oyiso-halo main.home1 .home1-newest .home1-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.oyiso-halo main.home1 .home1-newest .home1-links a,
.oyiso-halo main.home1 .home1-entry-card > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 14px;
  border-radius: 999px;
  color: var(--theme-color-pri);
  background: var(--theme-color-op10);
  transition: background-color .25s, color .25s;
}

.oyiso-halo main.home1 .home1-newest .home1-links a:hover,
.oyiso-halo main.home1 .home1-entry-card > a:hover {
  color: #fff;
  background: var(--theme-color-pri);
}

.oyiso-halo main.home1 .home1-entry {
  width: 100%;
}

.oyiso-halo main.home1 .home1-entry-card {
  min-height: 100px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--border-box);
  border-radius: 16px;
  background: var(--bgc-box);
}

.oyiso-halo main.home1 .home1-entry-card > div {
  flex: 1;
  min-width: 0;
}

.oyiso-halo main.home1 .home1-entry-card h3 {
  color: var(--text);
  font-size: 18px;
}

.oyiso-halo main.home1 .home1-entry-card p {
  margin-top: 4px;
  color: var(--text-excerpt);
  font-size: 14px;
}

.oyiso-halo main.home1 .home1-entry-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, var(--theme-color-pri), var(--theme-color-sub));
  font-size: 13px;
}

.oyiso-halo main.home1 .home1-newest .content .notice .notify {
  border: 1px solid var(--border-box);
  border-radius: 16px;
  background: var(--bgc-box);
  overflow: hidden;
}

.oyiso-halo main.home1 .home1-newest .content .notice .notify-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-box);
  color: var(--theme-color-pri);
}

.oyiso-halo main.home1 .home1-newest .content .notice .notify-body {
  max-height: 260px;
  padding: 16px 20px;
  overflow: auto;
}

.oyiso-halo main.home1 .home1-newest .content .notice .notify-body p {
  color: var(--text);
  line-height: 1.8;
  white-space: pre-line;
}

.oyiso-halo footer .run-time,
.oyiso-halo footer .icp {
  text-align: center;
}

.oyiso-halo footer .upyun {
  margin-top: 12px;
  color: var(--text-footer);
  text-align: center;
  font-size: 13px;
}

.oyiso-halo footer .upyun img {
  height: 24px;
  vertical-align: middle;
}

@media screen and (max-width: 650px) {
  .oyiso-halo main.home1 .home1-entry-card {
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
  }

  .oyiso-halo main.home1 .home1-entry-card > a {
    align-self: center;
    padding-left: 10px;
    padding-right: 10px;
  }

  .oyiso-halo main.home1 .home1-entry-icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    border-radius: 12px;
  }
}

@media screen and (max-width: 650px) {
  .oyiso-halo main .post-content .content {
    font-size: 16px;
    line-height: 1.85;
  }

  .oyiso-halo .halo-comment-slot {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media screen and (max-width: 765px) {
  .oyiso-halo main .screen,
  .oyiso-halo main .tpl-friend.post-content .screen {
    width: calc(100vw - 48px);
    max-width: 700px;
  }
}

[data-theme-mode="dark"] {
  --html: #161311;
  --container: #161311;
  --header: rgba(28, 24, 21, .86);
  --header-m: #1c1815;
  --border-header: #342b25;
  --border-menu: #342b25;
  --border-box: #342b25;
  --border-pagination: #342b25;
  --border-hr: rgba(255, 244, 233, .14);
  --border-table: #473a31;
  --border-copyright: #473a31;
  --bgc-box: #211c18;
  --bgc-single: #191512;
  --bgc-footer: #1d1916;
  --bgc-search-m: #302821;
  --bgc-menu: #211c18;
  --bgc-comment-bubble: #2a231e;
  --text: #f5eee7;
  --text-menu: #e8ddd3;
  --text-menu-hover: #cbbbae;
  --text-excerpt: #c4b5a8;
  --text-footer: #aa9b8f;
  --text-cc: #d8c9bc;
  --text-cc-logo: #3a2f28;
  --text-svg: #b9a99b;
  --text-quote: #d5c5b8;
  --halo-search-widget-base-bg-color: #211c18;
  --halo-search-widget-primary-color: #d58a68;
  --halo-search-widget-muted-color: #aa9b8f;
  --halo-search-widget-content-color: #f5eee7;
  --halo-search-widget-modal-bg-color: #211c18;
  --halo-search-widget-modal-layer-color: rgba(0, 0, 0, .58);
  --halo-search-widget-hit-bg-color: #302821;
  --halo-search-widget-divider-color: #473a31;
  --halo-search-widget-kbd-border-color: #57473b;
  --halo-search-widget-kbd-shadow: 0 2px 0 #57473b;
}

/* Explicit card/link colors keep the inherited browser blue out of broken
 * and dark-mode states, while preserving the original card layout. */
.oyiso-halo main .lastest ul li > a,
.oyiso-halo main .popular ul li > a {
  color: var(--text);
}

.oyiso-halo main .lastest ul li > a .title,
.oyiso-halo main .popular ul li > a .title {
  color: var(--text-menu);
}

.oyiso-halo main .home1-newest .tab ul li.active {
  color: var(--theme-color-pri);
}

.oyiso-halo main .home1-newest .content .bloger .n-d .desc {
  color: var(--text-excerpt);
}
