/* AIOcean 브랜드 테마 — Furo 변수 override */

@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&display=swap");

:root {
  /* 브랜드 토큰 */
  --aio-brand-primary: #1890ff;
  --aio-brand-primary-dark: #0e7be6;
  --aio-brand-primary-light: #4da9ff;
  --aio-brand-primary-300: #93c5fd;
  --aio-mono-dark: #1a1a1a;
  --aio-mono-light: #e5e7eb;
  --aio-bg-dark: #2b3139;
}

/* Light 모드 */
:root,
body[data-theme="light"] {
  --color-brand-primary: var(--aio-brand-primary);
  --color-brand-content: var(--aio-brand-primary-dark);
  --color-brand-visited: var(--aio-brand-primary-dark);

  --color-link: var(--aio-brand-primary-dark);
  --color-link--hover: var(--aio-brand-primary);
  --color-link-underline: var(--aio-brand-primary-light);
  --color-link-underline--hover: var(--aio-brand-primary);

  --color-foreground-primary: var(--aio-mono-dark);
  --color-foreground-secondary: #4b5563;
  --color-background-primary: #ffffff;
  --color-background-secondary: #f7f9fc;
  --color-background-border: #e5e7eb;

  --color-sidebar-background: #f7f9fc;
  --color-sidebar-link-text--top-level: var(--aio-mono-dark);
  --color-sidebar-brand-text: var(--aio-brand-primary);
  --color-sidebar-search-background: #ffffff;

  --color-admonition-title--note: var(--aio-brand-primary);
  --color-admonition-title-background--note: rgba(24, 144, 255, 0.1);

  --color-highlight-on-target: #fff3c4;
}

/* Dark 모드 */
@media (prefers-color-scheme: dark) {
  body:not([data-theme="light"]) {
    --color-brand-primary: var(--aio-brand-primary-light);
    --color-brand-content: var(--aio-brand-primary-light);

    --color-link: var(--aio-brand-primary-light);
    --color-link--hover: var(--aio-brand-primary-300);

    --color-foreground-primary: var(--aio-mono-light);
    --color-foreground-secondary: #9ca3af;
    --color-background-primary: var(--aio-bg-dark);
    --color-background-secondary: #1f2630;
    --color-background-border: #374151;

    --color-sidebar-background: #1f2630;
    --color-sidebar-link-text--top-level: var(--aio-mono-light);
    --color-sidebar-brand-text: var(--aio-brand-primary-light);

    --color-admonition-title--note: var(--aio-brand-primary-light);
    --color-admonition-title-background--note: rgba(77, 169, 255, 0.15);
  }
}

body[data-theme="dark"] {
  --color-brand-primary: var(--aio-brand-primary-light);
  --color-brand-content: var(--aio-brand-primary-light);

  --color-link: var(--aio-brand-primary-light);
  --color-link--hover: var(--aio-brand-primary-300);

  --color-foreground-primary: var(--aio-mono-light);
  --color-foreground-secondary: #9ca3af;
  --color-background-primary: var(--aio-bg-dark);
  --color-background-secondary: #1f2630;
  --color-background-border: #374151;

  --color-sidebar-background: #1f2630;
  --color-sidebar-link-text--top-level: var(--aio-mono-light);
  --color-sidebar-brand-text: var(--aio-brand-primary-light);

  --color-admonition-title--note: var(--aio-brand-primary-light);
  --color-admonition-title-background--note: rgba(77, 169, 255, 0.15);
}

/* 타이포 — 본문은 시스템 폰트, 헤딩과 사이드바 브랜드만 Montserrat */
.sidebar-brand-text,
h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Helvetica Neue", Arial, "Noto Sans KR", sans-serif;
  letter-spacing: -0.01em;
  font-weight: 700;
}

.sidebar-brand,
.sidebar-brand-text {
  text-align: center;
}

.sidebar-brand-text {
  font-weight: 700;
  letter-spacing: -0.02em;
}

.sidebar-logo-container {
  display: flex;
  justify-content: center;
}

/* 헤딩 보조 — 그라데이션 액센트 */
h1 {
  border-bottom: 2px solid var(--aio-brand-primary);
  padding-bottom: 0.3rem;
}

/* 사이드바 — 활성 항목 강조 */
.sidebar-tree .current-page > .reference {
  background-color: rgba(24, 144, 255, 0.1);
  border-left: 3px solid var(--aio-brand-primary);
  padding-left: calc(1rem - 3px);
}

body[data-theme="dark"] .sidebar-tree .current-page > .reference,
@media (prefers-color-scheme: dark) {
  body:not([data-theme="light"]) .sidebar-tree .current-page > .reference {
    background-color: rgba(77, 169, 255, 0.15);
    border-left-color: var(--aio-brand-primary-light);
  }
}

/* 표 — 헤더 강조 */
table.docutils thead {
  background-color: rgba(24, 144, 255, 0.08);
}

body[data-theme="dark"] table.docutils thead {
  background-color: rgba(77, 169, 255, 0.12);
}

/* 인라인 코드 — 브랜드 톤 */
:not(pre) > code.literal {
  border: 1px solid var(--color-background-border);
}

/* 로고 영역 */
.sidebar-logo {
  max-width: 180px;
  margin: 0 auto;
}

/* admonition tip — 브랜드 색 */
.admonition.tip > .admonition-title,
div.tip > .admonition-title {
  background-color: rgba(24, 144, 255, 0.1);
  color: var(--aio-brand-primary-dark);
}

body[data-theme="dark"] .admonition.tip > .admonition-title,
body[data-theme="dark"] div.tip > .admonition-title {
  background-color: rgba(77, 169, 255, 0.15);
  color: var(--aio-brand-primary-light);
}
