/* 반야프레임 공통 CSS -- 모든 HTML이 이 파일을 include한다 */
/* 규칙: 핵심 발견 = 녹색, 가설 = 주황색, 기본 = 회색 */

/* === 리셋 + 기본 === */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:20px;line-height:1.7;color:#c9d1d9;background:#0d1117;max-width:1200px;margin:0 auto;padding:40px 30px}
a{color:#58a6ff}a:hover{text-decoration:underline}
h1{font-size:2.4em;border-bottom:2px solid #30363d;padding-bottom:12px;margin-bottom:20px;margin-top:40px;color:#e6edf3}
h2{font-size:1.8em;border-bottom:1px solid #30363d;padding-bottom:8px;margin-top:50px;margin-bottom:20px;color:#e6edf3}
h3{font-size:1.4em;margin-top:36px;margin-bottom:14px;color:#e6edf3}
h4{font-size:1.1em;margin-top:28px;margin-bottom:10px;color:#c9d1d9}
p{margin-bottom:16px}
hr{border:none;border-top:1px solid #30363d;margin:40px 0}
pre{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:18px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-family:'SFMono-Regular',Consolas,monospace;font-size:0.85em;line-height:1.5;margin-bottom:20px;color:#c9d1d9}
code{background:#161b22;border-radius:3px;padding:2px 6px;font-family:'SFMono-Regular',Consolas,monospace;font-size:0.88em;color:#c9d1d9}
pre code{background:none;padding:0}
ul,ol{margin-bottom:16px;padding-left:2em}
li{margin-bottom:6px}
table{border-collapse:collapse;width:100%;margin-bottom:20px;font-size:0.9em;table-layout:auto}
th,td{border:1px solid #30363d;padding:8px 12px;text-align:left}
th{background:#161b22;font-weight:600;color:#e6edf3}
td{color:#c9d1d9}
td:last-child,th:last-child{white-space:nowrap}
/* 좁은 칸 최소 너비 */
.col-status{min-width:64px;white-space:nowrap;text-align:center}
.col-date{min-width:80px;white-space:nowrap;text-align:center}
.col-id{min-width:72px;white-space:nowrap;text-align:center;font-weight:600}
.col-num{min-width:32px;white-space:nowrap;text-align:center}
.col-err{min-width:56px;white-space:nowrap;text-align:right}
strong{font-weight:600;color:#e6edf3}
blockquote{border-left:4px solid #30363d;padding:8px 16px;color:#8b949e;margin-bottom:20px}
blockquote p{margin-bottom:6px}

/* === 수식 블록 (기본 = 회색 테두리) === */
.math-block{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:18px;margin-bottom:20px;text-align:center;overflow-x:hidden}
.math-block .katex{font-size:1.35em}
.math-block .math-row{margin:12px 0}
.math-block .math-desc{color:#8b949e;font-size:0.9em;margin-top:4px;text-align:center;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
.math-block .math-legend{color:#6e7681;font-size:0.75em;margin-top:8px;text-align:right;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;border-top:1px solid #30363d;padding-top:6px}
p .katex,li .katex{font-size:1.1em}

/* === 핵심 발견 블록 (녹색 계열) === */
.discovery-block{background:linear-gradient(135deg,#0d1f0d 0%,#121d12 100%);border:2px solid #2ea043;border-radius:8px;padding:24px;margin:24px 0}
.discovery-block h4{color:#3fb950;margin-top:0;margin-bottom:12px;font-size:1.2em}
.discovery-block .formula{font-size:1.3em;color:#e6edf3;text-align:center;padding:12px;background:#0d1117;border:1px solid #2ea043;border-radius:4px;margin:12px 0}
.discovery-block .formula .katex{font-size:1.35em}
.discovery-block .precision{color:#3fb950;font-weight:600}

/* === 가설 블록 (주황색 계열) === */
.hypothesis-block{background:linear-gradient(135deg,#1a1208 0%,#1d1a0d 100%);border:2px solid #d29922;border-radius:8px;padding:24px;margin:24px 0}
.hypothesis-block h4{color:#d29922;margin-top:0;margin-bottom:12px;font-size:1.2em}
.hypothesis-block .formula{font-size:1.3em;color:#e6edf3;text-align:center;padding:12px;background:#0d1117;border:1px solid #d29922;border-radius:4px;margin:12px 0}
.hypothesis-block .formula .katex{font-size:1.35em}
.hypothesis-block .precision{color:#d29922;font-weight:600}

/* === 상태 태그 === */
.status-success{color:#3fb950}
.status-incomplete{color:#d29922}

/* === 배지 태그 === */
.tag-discovery{display:inline-block;background:#238636;color:#fff;padding:2px 10px;border-radius:3px;font-size:0.75em;font-weight:600}
.tag-hypothesis{display:inline-block;background:#9e6a03;color:#fff;padding:2px 10px;border-radius:3px;font-size:0.75em;font-weight:600}
.tag-solved{display:inline-block;background:#238636;color:#fff;padding:1px 8px;border-radius:3px;font-size:0.75em}
.tag-partial{display:inline-block;background:#9e6a03;color:#fff;padding:1px 8px;border-radius:3px;font-size:0.75em}
.tag-wip{display:inline-block;background:#30363d;color:#8b949e;padding:1px 8px;border-radius:3px;font-size:0.75em}

/* === 발견 계층도 (banya.html) === */
.hier-tree{margin:20px 0;padding:0 0 0 8px}
.hier-tree .hier-root{color:#e6edf3;font-weight:600;font-size:1.05em;padding:6px 0}
.hier-tree .hier-l1{margin-left:24px;padding:4px 0;border-left:2px solid #2ea043;padding-left:16px;color:#c9d1d9}
.hier-tree .hier-l2{margin-left:48px;padding:3px 0;border-left:2px solid #30363d;padding-left:16px;color:#8b949e;font-size:0.95em}
.hier-tree .hier-tag{display:inline-block;padding:1px 8px;border-radius:3px;font-size:0.75em;margin-left:6px}
.hier-tree .hier-link{color:#58a6ff;text-decoration:none}
.hier-tree .hier-link:hover{text-decoration:underline}

/* === lib.html 카드 === */
.lib-card{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:20px;margin:16px 0}
.lib-card .lib-id{font-weight:700;font-size:0.85em;margin-bottom:4px}
.lib-card .lib-formula{font-size:1.15em;color:#e6edf3;font-family:'SFMono-Regular',Consolas,monospace;margin:8px 0;padding:10px;background:#0d1117;border-radius:4px;text-align:center}
.lib-card .lib-precision{color:#3fb950;font-weight:600;font-size:0.9em}
.lib-card .lib-reuse{color:#d29922;font-size:0.85em;margin-top:8px;padding-top:8px;border-top:1px solid #30363d}

/* === predictions.html 카드 === */
.predict-card{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:16px;margin:12px 0}
.predict-card .predict-title{color:#e6edf3;font-weight:600;margin-bottom:8px}
.predict-card .predict-value{color:#58a6ff;font-size:1.1em;font-family:'SFMono-Regular',Consolas,monospace}
.predict-card .predict-test{color:#8b949e;font-size:0.9em;margin-top:8px}

/* === 과학채굴방법.html === */
.step-block{background:#161b22;border-left:4px solid #2ea043;border-radius:0 6px 6px 0;padding:16px 20px;margin:16px 0}
.step-block .step-num{color:#2ea043;font-weight:700;font-size:1.1em;margin-bottom:6px}
.flow-block{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:20px;margin:20px 0;text-align:center}
.flow-block .flow-arrow{color:#2ea043;font-size:1.2em;margin:8px 0}
.role-card{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:16px;margin:12px 0}
.role-card .role-title{color:#3fb950;font-weight:600;font-size:1.05em;margin-bottom:8px}
.warn-block{background:#1a1208;border:1px solid #9e6a03;border-radius:6px;padding:16px;margin:16px 0;color:#d29922}

/* === TOC 사이드바 === */
.toc-side{position:fixed;top:60px;left:max(0px,calc((100vw - 1200px)/2 - 260px));width:240px;max-height:calc(100vh - 80px);overflow-y:auto;padding:12px 0;scrollbar-width:thin;scrollbar-color:#30363d transparent;z-index:9998;font-size:0.7em;line-height:1.4}
.toc-side a{color:#8b949e;text-decoration:none;display:block;padding:3px 10px;border-left:2px solid transparent;transition:color 0.2s,border-color 0.2s}
.toc-side a:hover{color:#58a6ff;border-left-color:#58a6ff}
.toc-side a.active{color:#58a6ff;border-left-color:#58a6ff;font-weight:600}
.toc-side .toc-h1{font-weight:600;color:#e6edf3;margin-top:8px}
.toc-side .toc-h2{padding-left:16px}
.toc-side .toc-h3{padding-left:28px;font-size:0.92em}

/* === TOC 모바일 바 === */
.toc-bar{display:none;position:fixed;top:0;left:0;right:0;width:100%;height:38px;background:#161b22ee;z-index:9997;align-items:center;padding:0 14px;cursor:pointer;backdrop-filter:blur(6px);border-bottom:1px solid #30363d}
.toc-bar-text{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#c9d1d9;font-size:0.85em}
.toc-bar-arrow{color:#8b949e;font-size:0.8em;margin-left:8px;transition:transform 0.2s}
.toc-bar.open .toc-bar-arrow{transform:rotate(180deg)}
.toc-overlay{display:none;position:fixed;top:38px;left:0;right:0;bottom:0;width:100%;background:#0d1117ee;overflow-y:auto;z-index:9996;padding:16px 20px;backdrop-filter:blur(6px)}
.toc-overlay.show{display:block}
.toc-overlay a{color:#8b949e;text-decoration:none;display:block;padding:6px 8px;font-size:0.85em;border-left:2px solid transparent}
.toc-overlay a:hover,.toc-overlay a.active{color:#58a6ff;border-left-color:#58a6ff}
.toc-overlay .toc-h1{font-weight:600;color:#e6edf3;margin-top:10px}
.toc-overlay .toc-h2{padding-left:16px}
.toc-overlay .toc-h3{padding-left:28px;font-size:0.9em}

/* === 페이지 네비게이션 === */
.page-nav{margin-top:40px;padding:20px 0;border-top:1px solid #30363d;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.page-nav a{color:#8b949e;text-decoration:none;padding:6px 16px;border:1px solid #30363d;border-radius:4px;font-size:0.8em;transition:color 0.2s,border-color 0.2s}
.page-nav a:hover{color:#58a6ff;border-color:#58a6ff}
.page-nav a.current{color:#58a6ff;border-color:#58a6ff;font-weight:600}

/* === 푸터 === */
.doc-footer{border-top:1px solid #30363d;padding:28px 0 32px;margin-top:60px}
.doc-footer .f-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.doc-footer .f-corp{font-size:11px;color:#8b949e;line-height:1.8}
.doc-footer .f-corp b{color:#c9d1d9;font-weight:600}
.doc-footer .f-right{text-align:right;font-size:11px;color:#8b949e;line-height:1.8}
.doc-footer .f1{font-size:12px;color:#c9d1d9;font-weight:600}
.doc-footer .f2{font-size:10.5px;color:#8b949e;margin-top:4px}
.doc-footer .f-bottom{margin-top:14px;padding-top:12px;border-top:1px solid #30363d;text-align:center}
.doc-footer .f-copy{font-size:10px;color:#6e7681;margin-top:4px}
.doc-footer .f-license{margin-top:12px;padding-top:10px;border-top:1px solid #21262d;font-size:10px;color:#6e7681;line-height:1.7}
.doc-footer .f-license a{color:#58a6ff;font-size:10px}
.doc-footer .f-license .license-title{color:#8b949e;font-weight:600;font-size:10.5px;margin-bottom:4px}
.doc-footer .f-license .license-cite{color:#6e7681;font-size:9.5px;margin-top:6px;padding:6px 10px;background:#161b22;border-radius:4px;font-family:'SFMono-Regular',Consolas,monospace}
.doc-footer a{color:#58a6ff;text-decoration:none}
.doc-footer a:hover{text-decoration:underline}

/* === 언어 토글 === */
.lang-switch{position:fixed;top:12px;right:20px;z-index:9999;display:flex;gap:4px;background:#161b22;border:1px solid #30363d;border-radius:6px;padding:3px}
.lang-switch .lang-btn{background:none;border:none;color:#8b949e;cursor:pointer;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:600;transition:all 0.2s}
.lang-switch .lang-btn:hover{color:#c9d1d9}
.lang-switch .lang-btn.active{background:#238636;color:#fff}

/* === 테이블 래퍼 === */
.table-wrap{overflow-x:auto;margin-bottom:20px;-webkit-overflow-scrolling:touch}

/* === 반응형 === */
@media(max-width:1500px){.toc-side{display:none}.toc-bar{display:flex}body{padding-top:46px!important}}
@media(max-width:768px){body{font-size:18px;padding:24px 16px;padding-top:46px}h1{font-size:1.8em;margin-top:28px}h2{font-size:1.5em;margin-top:36px}h3{font-size:1.25em;margin-top:24px}h4{font-size:1.05em}pre{padding:12px;font-size:0.82em}.math-block{padding:12px}.math-block .katex{font-size:1.1em}.math-legend{font-size:0.7em}table{font-size:0.88em}th,td{padding:6px 8px}.toc-bar{height:36px}.toc-bar-text{font-size:0.8em}.toc-overlay a{padding:5px 8px;font-size:0.82em}.doc-footer .f-top{flex-direction:column}.doc-footer .f-right{text-align:left}}
@media(max-width:480px){body{font-size:16px;padding:16px 10px;padding-top:44px}h1{font-size:1.5em;margin-top:20px}h2{font-size:1.3em;margin-top:28px}h3{font-size:1.15em;margin-top:20px}h4{font-size:1em}pre{padding:10px;font-size:0.75em}.math-block{padding:10px 8px}.math-block .katex{font-size:0.95em}p .katex,li .katex{font-size:0.95em}.math-row{margin:4px 0}.math-legend{font-size:0.65em;padding-top:4px}.math-desc{font-size:0.75em}table{font-size:0.82em;display:block;overflow-x:auto}th,td{padding:4px 6px;white-space:nowrap}blockquote{padding:6px 12px}.toc-bar{height:34px}.toc-bar-text{font-size:0.75em}.toc-overlay{padding:12px 14px}.toc-overlay a{padding:4px 6px;font-size:0.78em}.toc-overlay .toc-h3{padding-left:20px}li{margin-bottom:4px}}
