/* LLM Registry API — llm.kephas.kr 공통 스타일.
   aislit.dev(relay.aislit.dev)의 문서형 단일 칼럼을 따른다: 시스템 글꼴, 본문 폭 1080px(2026-11-09 보스 지시), 작은 회색 소제목, 밝은/어두운 모드 자동.
   페이지는 의미 있는 HTML 요소(h1 h2 h3 p ul ol table pre code)로만 쓰고 아래 클래스만 덧붙인다.
     .lede      제목 아래 소개 문단(조금 크고 옅게)
     .release   눈에 띄게 둘 한두 줄 안내 상자
     .note      덧붙이는 설명(작고 옅게)
   도구 페이지(샘플·키 발급·관리)의 입력 요소는 아래 "입력 요소" 절. */

:root {
  color-scheme: light dark;
  --text: #1c1c1e; --soft: #3a3a3e; --muted: #6b6b70;
  --bg: #ffffff; --panel: #f4f4f6; --line: #e6e6ea;
  --ok: #1d7a45; --bad: #b3261e;
}
@media (prefers-color-scheme: dark) {
  :root {
    --text: #e8e8ea; --soft: #c2c2c8; --muted: #9a9aa2;
    --bg: #16161a; --panel: #202027; --line: #2c2c34;
    --ok: #6fcf97; --bad: #ff8a80;
  }
}

body {
  margin: 0 auto; padding: 3rem 1.25rem 5rem; max-width: 1080px;
  font: 16px/1.7 ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;
  color: var(--text); background: var(--bg);
  word-break: keep-all; overflow-wrap: anywhere;
}

nav { margin: 0 0 2rem; font-size: .92rem; }
nav a { margin-right: 1rem; }
nav a[aria-current="page"] { color: inherit; text-decoration: none; font-weight: 600; }

h1 { font-size: 1.6rem; line-height: 1.35; margin: 0 0 .25rem; letter-spacing: -.01em; }
h2 { font-size: 1rem; margin: 2.5rem 0 .6rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
h2 code { text-transform: none; letter-spacing: 0; }
h3 { font-size: 1.05rem; margin: 1.8rem 0 .5rem; }
p { margin: 0 0 1rem; }
.lede { font-size: 1.1rem; color: var(--soft); margin: 0 0 2rem; }
.note { color: var(--muted); font-size: .92rem; }
.release { margin: 0 0 2rem; padding: .7rem .9rem; border-radius: 6px; background: var(--panel); font-size: .95rem; }

pre, code, kbd { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "D2Coding", monospace; }
pre {
  background: var(--panel); padding: .85rem 1rem; border-radius: 6px; margin: .9rem 0;
  overflow-x: auto; font-size: .9rem; line-height: 1.55; word-break: normal; overflow-wrap: normal;
}
code { font-size: .92em; }
ul, ol { padding-left: 1.25rem; }
li { margin: .35rem 0; }

table { border-collapse: collapse; width: 100%; font-size: .93rem; margin: .6rem 0 1.2rem; }
th, td { text-align: left; padding: .45rem .6rem .45rem 0; vertical-align: top; border-bottom: 1px solid var(--line); }
th { color: var(--muted); font-weight: 600; }

footer { margin-top: 3.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .88rem; }

/* 입력 요소 — 샘플·키 발급·관리 */
label { display: block; margin: .9rem 0 .3rem; font-size: .92rem; color: var(--muted); }
input, select, textarea, button { font: inherit; color: inherit; }
input, select, textarea {
  box-sizing: border-box; width: 100%; padding: .45rem .6rem;
  border: 1px solid var(--line); border-radius: 6px; background: var(--bg);
}
input[type="checkbox"] { width: auto; margin: 0 .35rem 0 0; }
textarea { resize: vertical; min-height: 5.5rem; }
button { padding: .45rem .95rem; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); cursor: pointer; }
button.primary { background: var(--text); border-color: var(--text); color: var(--bg); }
button:disabled { opacity: .5; cursor: default; }
.row { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin: .6rem 0; }
.row > input, .row > select { width: auto; flex: 1 1 9rem; }
.row > label { margin: 0; display: inline-flex; align-items: center; color: inherit; }
.out {
  background: var(--panel); border-radius: 6px; padding: .85rem 1rem; margin: .6rem 0 1.2rem; min-height: 2.6rem;
  font: .9rem/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, "D2Coding", monospace;
  white-space: pre-wrap; overflow-wrap: anywhere;
}
.ok { color: var(--ok); }
.bad { color: var(--bad); }
.muted { color: var(--muted); }
tr.pick { cursor: pointer; }
tr.pick:hover td, tr.sel td { background: var(--panel); }

/* 도구 페이지 추가 — 도구 페이지 담당만 이 아래에 덧붙인다 */
