/* 공개 페이지의 헤더·상태 바·푸터에 공통 밝은 테마를 적용한다. */
:root {
  --frame-surface: var(--color-white);
  --frame-accent: #1e4fa1;
  --frame-line: rgba(17, 17, 17, 0.14);
}

/* 공유 헤더의 기존 흰 글자 강제 선언에만 important를 대응한다. */
:root body .site-sticky,
:root body .site-header,
:root body .site-header__nav,
:root body .site-header__sub {
  background: var(--frame-surface);
  border-color: var(--frame-line);
  box-shadow: none;
}
:root body .site-header__sub {
  box-shadow: 0 12px 32px rgba(17, 17, 17, 0.1);
}
:root body .site-header__nav-list a {
  color: var(--color-black) !important;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}
:root body .site-header__nav-list a:hover,
:root body .site-header__nav-list a:focus-visible,
:root body .site-header__nav-list a.is-active {
  color: var(--frame-accent) !important;
}
:root body .site-header__nav-link::before,
:root body .site-header__sub a::before {
  background: var(--frame-accent);
  animation: none;
  box-shadow: none;
}
:root body .site-header__nav-item--forum .site-header__sub li:last-child > a {
  color: var(--frame-accent) !important;
}
:root body .site-header__nav-item--forum .site-header__sub li:last-child > a::after {
  background: var(--frame-accent);
  animation: none;
}
:root body .site-header .site-header__logo-img,
:root body .site-footer__logo-img {
  filter: none;
}
:root body .site-flow,
:root body .site-header__language-switch {
  background: var(--color-gray-100);
  border-color: var(--frame-line);
}
:root body .site-flow__card {
  background: var(--frame-surface);
  border-color: var(--frame-line);
}
:root body .site-flow__label,
:root body .site-flow__text,
:root body .site-header__language-option,
:root body .site-header .site-header__lang,
:root body .site-header__sub-toggle {
  color: var(--color-black);
  border-color: var(--frame-line);
}
:root body .site-header__language-switch {
  grid-template-columns: repeat(2, 44px);
}
:root body .site-header__language-switch::before {
  width: 44px;
  height: 44px;
  background: var(--frame-accent);
  box-shadow: none;
}
:root body .site-header__language-option {
  height: 44px;
}
:root body .site-header__language-option.is-active {
  color: var(--color-white);
}
:root body .site-header__menu-btn {
  width: 44px;
  height: 44px;
}
:root body .site-header .site-header__menu-btn span {
  background: var(--color-black);
}
:root body .site-flow__btn,
:root body .site-header__lang {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
:root body .site-flow__btn {
  background: var(--frame-accent);
  color: var(--color-white);
}

@media (max-width: 1100px) {
  :root body .site-header__sub {
    box-shadow: none;
  }
  :root body .site-header__nav-item {
    border-color: var(--frame-line);
  }
  :root body .site-header__sub a {
    white-space: normal;
    overflow-wrap: break-word;
  }
}
@media (max-width: 500px) {
  :root body .site-header__inner {
    gap: 12px;
  }
  :root body .site-header__actions {
    gap: 6px;
  }
}
:root body .site-footer__sponsors-list {
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 1440px) {
  :root body .site-footer__aside {
    margin-right: -48px;
  }
}
:root body .site-footer {
  background: var(--frame-surface);
  border-color: var(--frame-line);
  color: var(--color-black);
}
:root body .site-footer__nav-link {
  color: var(--color-black);
}
:root body .site-footer__nav-link:hover {
  color: var(--frame-accent);
}
:root body .site-footer__contact,
:root body .site-footer__copy {
  color: var(--color-gray-600);
}
:root body .site-footer__sponsor-img--mcst {
  height: 56px;
}
:root body .site-header :is(a, button):focus-visible,
:root body .site-flow a:focus-visible,
:root body .site-footer a:focus-visible {
  outline: 2px solid var(--frame-accent);
  outline-offset: 3px;
}
