/* 지원 문서 페이지 — library.css(.lib) 위에 탭·목록 카드·상세 본문만 더한다. .sp 안에서만 적용 */

/* 목록·새 소식·상세를 hidden 으로 바꿔 보이는데, .lib-main 의 display:flex 가 hidden 을 덮어쓰지 않게 한다 */
.sp [hidden] { display: none !important; }
.sp .lib-hint a { color: var(--b-accent); }

/* 탭 */
.sp-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.sp-tabs button {
  padding: 8px 16px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .9rem;
  background: var(--lib-card); color: var(--lib-text2); border: 1px solid var(--lib-border);
}
.sp-tabs button:hover { background: var(--b-hover); color: var(--lib-text); }
.sp-tabs button[aria-selected="true"] { background: var(--b-accent); border-color: transparent; color: var(--b-accent-ink); font-weight: 700; }
.sp-tabs small { font-family: var(--b-mono); font-size: .78rem; opacity: .75; margin-left: 2px; }
.lib-sidebar .sp-tabs button { padding: 6px 12px; font-size: .84rem; }

/* 목록 카드 */
/* 글이 긴 카드라 넓은 화면에서도 2열까지만(한 줄이 너무 짧아지지 않게), 좁으면 1열 */
.sp-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(560px, 100%), 1fr)); gap: 1.25rem; align-items: start; }
.sp-card {
  display: block; padding: 16px 18px; color: inherit; text-decoration: none;
  background: var(--lib-card); border: 1px solid var(--lib-border); border-radius: var(--lib-radius);
  transition: border-color .2s, background .2s;
}
.sp-card:hover { border-color: var(--b-accent); background: var(--lib-card-hover); }
.sp-card h3 { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.4; color: var(--lib-text); }
.sp-orig { display: block; margin-top: 2px; font-size: .8rem; font-weight: 400; color: var(--lib-muted); }
.sp-card p {
  margin: 8px 0 0; font-size: .86rem; line-height: 1.6; color: var(--lib-text2);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

.sp-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; font-size: .78rem; color: var(--lib-muted); }
.sp-date { margin-left: auto; font-family: var(--b-mono); font-size: .74rem; }
.sp-badge { padding: 2px 8px; border-radius: 6px; font-size: .74rem; background: var(--b-raised); color: #C9CDD3; }
.sp-badge-news { background: #3A2C12; color: var(--b-challenge); font-weight: 700; }
.sp-badge-ok { background: var(--b-accent-soft); color: var(--b-accent); font-weight: 700; }
.sp-badge-warn { background: #3A1F22; color: #F0A3A8; }

/* 새 소식 타임라인 · 상세 공통 폭 */
.sp-narrow { max-width: 820px; padding: 26px 32px 0; box-sizing: border-box; }
.sp-lead { margin: 0 0 18px; color: var(--lib-text2); font-size: .92rem; }
.sp-timeline { border-left: 2px solid var(--lib-border); padding-left: 22px; }
.sp-tl-item { position: relative; padding: 0 0 22px; }
.sp-tl-item::before {
  content: ''; position: absolute; left: -29px; top: 5px; width: 10px; height: 10px; border-radius: 50%;
  background: var(--b-accent); box-shadow: 0 0 0 3px var(--b-bg);
}
.sp-when { font-size: .78rem; color: var(--lib-muted); }
.sp-tl-item h3 { margin: 4px 0 6px; font-size: 1.02rem; line-height: 1.45; }
.sp-tl-item h3 a { color: var(--lib-text); text-decoration: none; }
.sp-tl-item h3 a:hover { color: var(--b-accent); text-decoration: underline; }
.sp-tl-item p { margin: 0; font-size: .86rem; line-height: 1.6; color: var(--lib-text2); }

/* 상세 */
.sp-crumbs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: .82rem; color: var(--lib-muted); }
.sp-back { color: var(--b-accent); text-decoration: none; font-weight: 700; }
.sp-back:hover { text-decoration: underline; }
.sp-detail h1 { margin: 14px 0 0; font-size: 1.7rem; line-height: 1.35; color: var(--lib-text); overflow-wrap: anywhere; }
.sp-sub { margin: 6px 0 0; color: var(--lib-muted); font-size: .92rem; }
.sp-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--lib-border); }
.sp-toggle { display: inline-flex; border: 1px solid var(--lib-border); border-radius: 999px; overflow: hidden; }
.sp-toggle button { padding: 6px 14px; border: 0; background: transparent; color: var(--lib-text2); font: inherit; font-size: .85rem; cursor: pointer; }
.sp-toggle button[aria-pressed="true"] { background: var(--b-accent); color: var(--b-accent-ink); font-weight: 700; }
.sp-out { color: var(--b-accent); font-size: .85rem; text-decoration: none; }
.sp-out:hover { text-decoration: underline; }
.sp-notice { margin: 18px 0 0; padding: 12px 14px; border-radius: 10px; background: #2A2416; color: #E9D29A; font-size: .86rem; line-height: 1.6; }
.sp-notice a { color: var(--b-challenge); }
.sp-foot-note { margin: 34px 0 0; padding-top: 16px; border-top: 1px solid var(--lib-border); font-size: .82rem; color: var(--lib-muted); }
.sp-foot-note a { color: var(--b-accent); }

/* 한국어/원문 전환: 두 벌을 그려 두고 하나만 보인다 */
.sp-detail .sp-en { display: none; }
.sp-detail.sp-show-en .sp-en { display: block; }
.sp-detail.sp-show-en .sp-ko,
.sp-detail.sp-show-en .sp-ko-only { display: none; }

/* 본문 HTML (Zendesk) */
.sp-prose { margin-top: 22px; font-size: .97rem; line-height: 1.8; color: #D6D9DE; overflow-wrap: anywhere; }
.sp-prose h1, .sp-prose h2, .sp-prose h3, .sp-prose h4 { color: var(--lib-text); line-height: 1.4; margin: 1.6em 0 .6em; }
.sp-prose h1 { font-size: 1.4rem; } .sp-prose h2 { font-size: 1.25rem; } .sp-prose h3 { font-size: 1.1rem; } .sp-prose h4 { font-size: 1rem; }
.sp-prose > :first-child { margin-top: 0; }
.sp-prose p { margin: 0 0 1em; }
.sp-prose a { color: var(--b-accent); }
.sp-prose ul, .sp-prose ol { padding-left: 1.4em; margin: 0 0 1em; }
.sp-prose li { margin: .25em 0; }
.sp-prose img { max-width: 100%; height: auto; border-radius: 8px; margin: .5em 0; background: #fff; }
.sp-prose iframe { max-width: 100%; border: 0; border-radius: 8px; }
.sp-prose table { display: block; overflow-x: auto; border-collapse: collapse; margin: 0 0 1em; font-size: .9rem; }
.sp-prose th, .sp-prose td { border: 1px solid var(--lib-border); padding: 6px 10px; vertical-align: top; }
.sp-prose th { background: var(--b-raised); color: var(--lib-text); }
.sp-prose code { font-family: var(--b-mono); font-size: .86em; padding: 1px 5px; border-radius: 4px; background: var(--b-raised); }
.sp-prose pre { overflow-x: auto; padding: 12px; border-radius: 8px; background: var(--b-rail); }
.sp-prose pre code { padding: 0; background: none; }
.sp-prose blockquote { margin: 0 0 1em; padding: 8px 14px; border-left: 3px solid var(--b-accent); background: var(--lib-card); color: var(--lib-text2); }
.sp-prose hr { border: 0; border-top: 1px solid var(--lib-border); margin: 1.5em 0; }

/* 댓글 */
.sp-comments { margin-top: 40px; }
.sp-comments h2 { margin: 0 0 4px; font-size: 1.15rem; color: var(--lib-text); }
.sp-hint { margin: 0 0 14px; font-size: .8rem; color: var(--lib-muted); }
.sp-hint a { color: var(--b-accent); }
.sp-comment { margin-top: 10px; padding: 14px 16px; border-radius: var(--lib-radius); background: var(--lib-card); border: 1px solid var(--lib-border); }
.sp-comment.is-official { border-color: var(--b-accent); background: var(--b-accent-soft); scroll-margin-top: 24px; }
.sp-comments h2 a.sp-badge { margin-left: 6px; font-size: .78rem; text-decoration: none; vertical-align: 2px; }
.sp-comment .sp-foot { margin-top: 0; }
.sp-comment .sp-prose { margin-top: 10px; font-size: .92rem; }

@media (max-width: 768px) {
  .sp-narrow { padding: 18px 16px 0; }
  .sp-detail h1 { font-size: 1.35rem; }
  .sp-date { margin-left: 0; }
}
