/* RuianDing responsive refresh, October 2026. Scoped to the child theme. */
html:root {
  --rd-nav-height: 76px;
  --rd-nav-item-height: 44px;
  --rd-nav-y-padding: 16px;
  --rd-shadow: 0 8px 32px rgba(45, 37, 35, .055);
  --family-primary: "Montserrat", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --family-title: "Montserrat", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}
html { background: #f6f4f0; scroll-padding-top: 100px; padding-top: var(--rd-nav-height) !important; }
body { background: #f6f4f0; padding-top: 0 !important; }
body.admin-bar .header { top: 32px; }
.header { border-bottom: 1px solid rgba(255,255,255,.08); background: #202630 !important; }
.header::before { background: #202630; box-shadow: 0 2px 12px rgba(24,29,36,.08); }
.header::after { display: none; }
.header .navbar.is-fixed-top { position: relative; top: auto; left: auto; right: auto; }
.header .navbar > .container { width: min(1180px, calc(100% - 40px)) !important; }
.header .navbar-brand > .navbar-item { padding-left: 0; padding-right: 22px; }
.header .brand-name { letter-spacing: .01em; font-size: .91rem; }
.header .navbar-start > .navbar-item:not(.has-dropdown),
.header .navbar-item.has-dropdown > .navbar-link { font-size: .82rem; padding-left: 12px; }
.header .navbar-end > .navbar-item { padding: 0 0 0 8px; }
.header .navbar-end .button { padding: 0 19px; font-size: .8rem; border-radius: 10px; font-weight: 600; }
.header .navbar-dropdown { border-radius: 12px; }
.main { background: transparent; }
/* Keep the photograph selected in WordPress Customizer visible. */
body.custom-background { background-position: center top; }
body.custom-background::before { content: ""; display: block; position: fixed; inset: 0; z-index: 0; pointer-events: none; background: inherit; background-attachment: scroll; background-position: center; background-size: cover; }
.main > .section:not(.rd-kb-hero) { padding: 24px 16px 56px; background: transparent; border-radius: 0 !important; }
.main > .section > .container > .level { margin-bottom: 24px; gap: 24px; }
.main > .section > .container > .level > .level-left { min-width: 0; flex: 1; }
.breadcrumb { padding: 8px 14px; background: rgba(255,252,246,.92); border: 0; border-radius: 10px; box-shadow: none; margin: 0; }
.breadcrumb ul { flex-wrap: wrap; }
.breadcrumb li.is-active { display: none; }
.main > .section .level-right .search-form { width: 270px; }
.search-form .field.has-addons { min-height: 0; padding: 0; background: #fff; border: 1px solid #e4e0d9; border-radius: 12px; box-shadow: none; }
.search-form .input { height: 44px; font-size: .88rem; font-weight: 400; padding: 0 16px; background: transparent; border-radius: 12px 0 0 12px; }
.search-form .button { height: 44px; min-height: 44px; min-width: 48px; border: 0; border-radius: 0 11px 11px 0; background: #303844; box-shadow: none; }
.box, .widget.box, .panel.has-background-white { border: 1px solid #e9e5df; border-radius: 16px; background: #fff !important; box-shadow: var(--rd-shadow); }
.single article.box { padding: clamp(24px, 3vw, 40px); }
.entry-header .title { font-size: clamp(1.65rem, 2.35vw, 2.3rem); line-height: 1.42; letter-spacing: -.035em; font-weight: 700; overflow-wrap: anywhere; }
.entry-meta { font-size: .78rem; }
.content { font-size: 16px; line-height: 1.95; overflow-wrap: anywhere; }
.content p { margin-bottom: 1.35em; }
.content h2 { margin-top: 2.1em; font-size: 1.5rem; line-height: 1.5; font-weight: 700; }
.content h3 { font-size: 1.18rem; line-height: 1.6; }
.content figure { margin: 28px 0; }
.content figure img { display: block; width: 100%; height: auto; border-radius: 12px; }
.content figcaption { font-size: .85rem; color: #73716e; margin-top: 10px; line-height: 1.7; }
.content pre { max-width: 100%; overflow-x: auto; border-radius: 12px; font-size: 13px; line-height: 1.7; padding: 20px; background: #f2f4f7; }
.content pre code { overflow-wrap: normal; word-break: normal; }
.content table { display: block; max-width: 100%; width: 100%; overflow-x: auto; border: 1px solid #e8e5df; font-size: .88rem; border-collapse: separate; border-spacing: 0; }
.content table td, .content table th { min-width: 120px; padding: 12px 14px; vertical-align: top; }
.content table th { background: #f6f5f2; }
.widget.box { padding: 24px; }
.widget .title, .widget h2, .widget h3 { font-size: 1.18rem; line-height: 1.5; font-weight: 700; }
.widget li { margin-bottom: 12px; }
.widget li a { font-weight: 500; }
.rd-kb-hero { padding: 32px 16px 48px; background: transparent; border-radius: 0; }
.rd-kb-hero-inner { margin-bottom: 36px; }
.rd-kb-brand-lockup { margin-bottom: 24px; }
.rd-kb-brand-lockup img { width: min(500px, 90vw); max-width: 500px; height: auto; filter: drop-shadow(0 1px 10px rgba(255,249,229,.9)); padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.rd-kb-search { width: min(680px, 100%); }
.rd-kb-panels, .columns.is-multiline.rd-kb-panels { column-gap: 24px !important; }
.panel-heading { background: #f9f7f3 !important; }
.footer { background: #202630; }
a:focus-visible, button:focus-visible { outline: 3px solid #d2a06b; outline-offset: 4px; }
.rd-submenu-toggle { display: none; }
.header .navbar-burger > span { display: none !important; }
.header .navbar-burger svg { position: absolute; width: 22px; height: 22px; left: 11px; top: 11px; color: #edf0f5; }
.header .navbar-burger .rd-burger-close-icon { display: none; }
.header .navbar-burger.is-active .rd-burger-open-icon { display: none; }
.header .navbar-burger.is-active .rd-burger-close-icon { display: block; }

/* A quiet, readable promotion built with the game's own artwork. */
.rd-promo-wrap { width: min(1180px, calc(100% - 32px)); margin: 32px auto 0; }
.rd-shanhe-promo { position: relative; display: flex; align-items: center; min-height: 190px; padding: 30px 36px; overflow: hidden; isolation: isolate; border: 1px solid #e0d7c8; border-radius: 18px; background: #eae2d2; color: #2a312d; box-shadow: 0 8px 28px rgba(74,64,46,.05); }
.rd-shanhe-promo::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url('../img/shanhe-map.webp?v=20261007b') right center / cover no-repeat; }
.rd-shanhe-promo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #f0eadd 0%, rgba(240,234,221,.97) 36%, rgba(240,234,221,.3) 66%, rgba(240,234,221,.05)); }
.rd-promo-copy { max-width: 570px; position: relative; z-index: 1; }
.rd-promo-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 11px; line-height: 1.5; font-weight: 600; color: #666653; letter-spacing: .09em; }
.rd-promo-kicker span { display: inline-block; padding: 3px 7px; border: 1px solid #b69672; border-radius: 4px; color: #8d4f35; letter-spacing: .03em; }
.rd-promo-title { display: block; font-family: "Songti SC", "Noto Serif CJK SC", "SimSun", serif; font-size: 38px; line-height: 1.2; letter-spacing: .15em; font-weight: 700; }
.rd-promo-description { margin: 10px 0 16px; font-size: 13px; line-height: 1.7; color: #686957; }
.rd-promo-link { display: inline-flex; align-items: center; gap: 20px; min-height: 40px; padding: 9px 16px; border-radius: 8px; background: #374838; color: #fff !important; font-size: 12px; font-weight: 600; text-decoration: none; }
.rd-promo-link:hover { background: #253627; box-shadow: 0 4px 12px rgba(28,45,30,.15); }
.rd-promo-link svg { width: 16px; height: 16px; }
.rd-promo-art { position: absolute; right: 9%; top: 50%; width: 200px; height: 150px; transform: translateY(-50%); pointer-events: none; }
.rd-promo-piece { display: grid; place-items: center; position: absolute; width: 94px; height: 94px; filter: drop-shadow(0 12px 12px rgba(50,40,26,.2)); transform: rotate(-14deg); }
.rd-promo-piece img { grid-area: 1/1; width: 100%; height: 100%; object-fit: contain; }
.rd-promo-piece b { grid-area: 1/1; z-index: 1; font-family: "KaiTi", "STKaiti", serif; font-size: 48px; font-weight: 700; color: #fff0c4; line-height: 1; padding-bottom: 5px; text-shadow: 0 2px 2px #521813, 0 0 1px #521813; }
.rd-promo-piece:first-child { top: 14px; left: 5px; }
.rd-promo-piece:last-child { right: 0; bottom: 0; transform: rotate(12deg); }
.rd-promo-piece:last-child b { color: #f6d999; text-shadow: 0 2px 2px #080e12, 0 0 1px #080e12; }
.rd-kb-panels .button .icon { margin-left: 12px !important; margin-right: 0 !important; width: 20px; height: 20px; }
.rd-viewall-arrow { display: block; width: 20px; height: 20px; flex: 0 0 20px; transition: transform .18s ease; }
.rd-kb-panels .button:hover .rd-viewall-arrow { transform: translateX(3px); }

@media (min-width: 1024px) and (max-width: 1200px) {
 .header .navbar-brand > .navbar-item { padding-right: 10px; }
 .header .navbar-start > .navbar-item:not(.has-dropdown), .header .navbar-item.has-dropdown > .navbar-link { padding-left: 8px; font-size: .76rem; }
 .header .navbar-end .button { padding: 0 12px; font-size: .75rem; }
}
@media (max-width: 1023px) {
 html:root { --rd-nav-height: 68px; --rd-nav-y-padding: 12px; }
 .header { min-height: 68px; }
 .header .navbar-brand { display: flex; align-items: center !important; min-height: 44px; }
 .header .navbar-brand > .navbar-item { min-height: 44px; padding-left: 0; }
 .header .navbar-burger { height: 44px; width: 44px; margin-left: auto; }
 .header #main-menu { position: fixed; top: calc(var(--rd-header-bottom, 68px) + 8px); left: 16px; right: 16px; width: auto; height: auto; max-height: calc(100vh - var(--rd-header-bottom, 68px) - 24px); max-height: calc(100dvh - var(--rd-header-bottom, 68px) - 24px); padding: 12px; margin: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border: 1px solid #363f4d; border-radius: 16px; background: #202630; box-shadow: 0 16px 48px rgba(10,16,25,.22); }
 .header #main-menu:not(.is-active) { display: none !important; }
 .header #main-menu.is-active { display: block; }
 .header #main-menu .navbar-start, .header #main-menu .navbar-end { display: block !important; min-height: 0; height: auto; width: 100%; }
 .header #main-menu .navbar-item.has-dropdown { display: block !important; position: relative; height: auto !important; min-height: 0 !important; align-items: initial !important; padding: 0; margin-bottom: 4px; }
 .header #main-menu .navbar-item.has-dropdown,
 .header #main-menu .navbar-item.has-dropdown:hover,
 .header #main-menu .navbar-item.has-dropdown:focus-within { border-radius: 8px; background: transparent !important; }
 .header #main-menu .navbar-start > a.navbar-item, .header #main-menu .navbar-link { display: flex; align-items: center; justify-content: flex-start; height: 48px !important; min-height: 48px !important; padding: 0 14px; border-radius: 8px; font-size: 14px; font-weight: 600; line-height: 1.5; }
 .header #main-menu .has-dropdown > .navbar-link { width: calc(100% - 48px); }
 .header #main-menu .navbar-link::after { display: none; }
 .header #main-menu .navbar-dropdown { display: none !important; position: static !important; width: 100%; height: auto; max-height: none; overflow: visible; margin: 0 0 10px; padding: 4px 6px 8px 14px; border: 0; border-radius: 8px; background: #19202a; box-shadow: none; }
 .header #main-menu .has-dropdown.rd-expanded > .navbar-dropdown { display: block !important; }
 .header #main-menu .navbar-dropdown .navbar-item { display: flex; min-height: 40px; height: auto; padding: 9px 12px; font-size: 13px; line-height: 1.6; font-weight: 400; border-radius: 6px; white-space: normal; }
 .header #main-menu .rd-submenu-toggle { display: grid; place-items: center; position: absolute; right: 0; top: 2px; width: 44px; height: 44px; padding: 0; margin: 0; border: 0; border-radius: 8px; background: transparent; color: #cbd3df; cursor: pointer; }
 .rd-submenu-toggle::before { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
 .rd-submenu-toggle[aria-expanded="true"]::before { transform: rotate(225deg) translate(-2px,-2px); }
 .header #main-menu .navbar-end { display: flex !important; flex-wrap: wrap; gap: 8px; border-top: 1px solid #38404c; padding-top: 12px; margin-top: 12px; }
 .header #main-menu .navbar-end > .navbar-item { width: auto; min-height: 0; height: auto; padding: 0; }
 .header #main-menu .navbar-end .button { min-height: 40px; height: 40px; padding: 0 14px; }
 body.rd-menu-open { overflow: hidden !important; }
 body.rd-menu-open::after { content: ""; display: block; position: fixed; inset: 0; z-index: 999; background: rgba(14,21,30,.28); pointer-events: auto; }
 .rd-promo-wrap { margin-top: 22px; }
 .rd-shanhe-promo { padding: 26px; min-height: 185px; }
 .rd-promo-art { right: 5%; transform: translateY(-50%) scale(.85); transform-origin: right center; }
 .rd-kb-panels, .columns.is-multiline.rd-kb-panels { column-count: 2 !important; }
}
@media (max-width: 768px) {
 body.admin-bar .header { top: 46px; }
 .main > .section:not(.rd-kb-hero) { padding: 20px 0 36px; }
 .main > .section > .container > .level { display: block; margin-bottom: 20px; }
 .main > .section .level-right .search-form { width: 100%; }
 .main > .section .level-right { margin-top: 0; }
 .single article.box { padding: 22px 18px; border-radius: 14px; }
 .entry-header .title { font-size: 26px; line-height: 1.5; letter-spacing: -.025em; }
 .entry-meta { gap: 10px; }
 .content { font-size: 16px; line-height: 1.9; }
 .content h2 { font-size: 21px; }
 .content h3 { font-size: 18px; }
 .content pre { padding: 16px; font-size: 12px; }
 .widget.box { padding: 22px; }
 .rd-promo-wrap { width: calc(100% - 24px); margin-top: 16px; }
 .rd-shanhe-promo { min-height: 190px; padding: 22px; border-radius: 14px; }
 .rd-shanhe-promo::before { background-size: auto 100%; background-position: right center; }
 .rd-shanhe-promo::after { background: linear-gradient(90deg,rgba(240,234,221,.99),rgba(240,234,221,.93) 44%,rgba(240,234,221,.25)); }
 .rd-promo-title { font-size: 32px; }
 .rd-promo-description { max-width: 210px; font-size: 11px; margin: 10px 0 14px; }
 .rd-promo-kicker { font-size: 10px; }
 .rd-promo-art { right: 14px; top: auto; bottom: 20px; width: 112px; height: 110px; transform: none; opacity: 1; }
 .rd-promo-piece { width: 60px; height: 60px; }
 .rd-promo-piece b { font-size: 31px; padding-bottom: 3px; }
 .rd-promo-piece:first-child { top: 0; left: 0; }
 .rd-promo-piece:last-child { bottom: 0; right: 0; }
 .rd-kb-brand-lockup img { width: min(340px, 90vw); height: auto; }
 .rd-kb-hero { padding: 26px 0 36px; }
 .rd-kb-panels, .columns.is-multiline.rd-kb-panels { column-count: 1 !important; }
}
@media (prefers-reduced-motion: reduce) { .rd-submenu-toggle::before, .rd-viewall-arrow { transition: none; } }
