/* Math TOC v2.1 — CSS (v1.4.4 디자인 기반, 현재글 강조 추가) */

.mtoc-browser-wrap { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; font-size:var(--mtoc-font-size,14px); margin:20px 0; }
.mtoc-empty { text-align:center; padding:40px; color:#64748b; background:#f8fafc; border:2px dashed #e2e8f0; border-radius:8px; }

/* ══ DESKTOP: Column Browser ══ */
.mtoc-cb-wrap { border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; background:#fff; }
.mtoc-cb-header { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; background:linear-gradient(135deg,#1e3a5f,#2d5a87); gap:12px; min-height:48px; }
.mtoc-cb-count { background:rgba(255,255,255,.18); color:#fff; font-size:12px; padding:3px 10px; border-radius:10px; white-space:nowrap; flex-shrink:0; }
.mtoc-cb-bc { display:flex; align-items:center; gap:4px; flex:1; flex-wrap:wrap; }
.mtoc-cb-bc-item { font-size:13px; color:rgba(255,255,255,.8); cursor:pointer; padding:2px 6px; border-radius:4px; }
.mtoc-cb-bc-item:hover { background:rgba(255,255,255,.15); }
.mtoc-cb-bc-sep { font-size:11px; color:rgba(255,255,255,.35); }
.mtoc-cb-bc-cur { font-size:13px; color:#fff; font-weight:500; padding:2px 6px; }
.mtoc-cb-cols { display:flex; overflow-x:auto; min-height:300px; }
.mtoc-cb-col { min-width:155px; max-width:195px; border-right:1px solid #e8ecf0; display:flex; flex-direction:column; flex-shrink:0; }
.mtoc-cb-col:last-child { border-right:none; flex:1; min-width:200px; max-width:none; }
.mtoc-cb-leaf { min-width:220px; }
.mtoc-cb-col-head { font-size:11px; font-weight:600; color:#64748b; padding:8px 12px 6px; border-bottom:1px solid #e8ecf0; background:#f8fafc; white-space:nowrap; letter-spacing:.04em; text-transform:uppercase; }
.mtoc-cb-col-body { overflow-y:auto; flex:1; }
.mtoc-cb-item { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; border-bottom:1px solid #f1f5f9; cursor:pointer; gap:6px; transition:background .1s; }
.mtoc-cb-item:last-child { border-bottom:none; }
.mtoc-cb-item:hover { background:#f0f7ff; }
.mtoc-cb-item-sel { background:#eff6ff !important; }
.mtoc-cb-item-sel .mtoc-cb-item-name { color:#2563eb; font-weight:500; }
.mtoc-cb-item-sel .mtoc-cb-chev { color:#2563eb; }
.mtoc-cb-item-name { flex:1; font-size:13px; color:#334155; word-break:keep-all; line-height:1.35; }
.mtoc-cb-item-right { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.mtoc-cb-badge { font-size:11px; color:#94a3b8; background:#f1f5f9; border-radius:8px; padding:1px 6px; min-width:20px; text-align:center; }
.mtoc-cb-item-sel .mtoc-cb-badge { background:#dbeafe; color:#3b82f6; }
.mtoc-cb-chev { font-size:12px; color:#cbd5e1; }
.mtoc-cb-leaf-item { cursor:default; gap:8px; }
.mtoc-cb-leaf-item:hover { background:transparent; }
.mtoc-cb-leaf-icon { color:#94a3b8; flex-shrink:0; display:flex; align-items:center; }
.mtoc-cb-leaf-link { color:#2563eb; text-decoration:none; font-size:13px; flex:1; word-break:keep-all; line-height:1.35; }
.mtoc-cb-leaf-link:hover { text-decoration:underline; color:#1d4ed8; }
.mtoc-cb-order { font-size:11px; color:#cbd5e1; min-width:24px; text-align:right; flex-shrink:0; }

/* 현재글 강조 (PC) */
.mtoc-cb-leaf-cur { background:#eff6ff !important; border-left:3px solid #2563eb; }
/* 빈 컬럼 플레이스홀더 */
.mtoc-cb-empty { padding:30px 12px; text-align:center; color:#c4c4c4; font-size:12px; }
.mtoc-cb-leaf-cur .mtoc-cb-leaf-link { color:#1e40af; font-weight:600; }
.mtoc-cb-cur-badge { font-size:9px; font-weight:700; color:#fff; background:#2563eb; padding:1px 6px; border-radius:6px; flex-shrink:0; margin-left:4px; }

/* ══ MOBILE: Drill-down ══ */
.mtoc-dd-wrap { border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; background:#fff; }
.mtoc-dd-header { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:linear-gradient(135deg,#1e3a5f,#2d5a87); min-height:48px; }
.mtoc-dd-back { background:none; border:none; color:rgba(255,255,255,.9); font-size:13px; cursor:pointer; display:flex; align-items:center; gap:3px; padding:4px 8px; border-radius:6px; min-width:32px; justify-content:center; }
.mtoc-dd-back:hover { background:rgba(255,255,255,.12); }
.mtoc-dd-back-spacer { min-width:32px; }
.mtoc-dd-title { font-size:14px; font-weight:500; color:#fff; text-align:center; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:0 8px; }
.mtoc-dd-list { overflow-y:auto; max-height:420px; }
.mtoc-dd-item { display:flex; align-items:center; padding:11px 14px; border-bottom:1px solid #f1f5f9; cursor:pointer; gap:10px; transition:background .1s; }
.mtoc-dd-item:last-child { border-bottom:none; }
.mtoc-dd-item:hover { background:#f8fafc; }
.mtoc-dd-leaf { cursor:default; }
.mtoc-dd-leaf:hover { background:transparent; }
.mtoc-dd-icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:6px; }
.mtoc-dd-icon-folder { background:#eff6ff; }
.mtoc-dd-body { flex:1; min-width:0; }
.mtoc-dd-name { display:block; font-size:13px; color:#1e293b; line-height:1.35; word-break:keep-all; }
.mtoc-dd-sub { display:block; font-size:11px; color:#94a3b8; margin-top:2px; }
.mtoc-dd-link { display:block; font-size:13px; color:#2563eb; text-decoration:none; word-break:keep-all; line-height:1.35; }
.mtoc-dd-link:hover { text-decoration:underline; }
.mtoc-dd-chev { font-size:14px; color:#cbd5e1; flex-shrink:0; }
.mtoc-dd-order { font-size:11px; color:#cbd5e1; flex-shrink:0; }
.mtoc-dd-footer { padding:7px 14px; background:#f8fafc; border-top:1px solid #e2e8f0; font-size:11px; color:#94a3b8; }
.mtoc-dd-footer b { color:#64748b; font-weight:500; }

/* 현재글 강조 (모바일) */
.mtoc-dd-leaf-cur { background:#eff6ff !important; border-left:3px solid #2563eb; }
.mtoc-dd-leaf-cur .mtoc-dd-link { color:#1e40af; font-weight:600; }
.mtoc-dd-cur-badge { font-size:9px; font-weight:700; color:#fff; background:#2563eb; padding:1px 6px; border-radius:6px; flex-shrink:0; }

/* 모바일 헤더 내 브레드크럼 */
.mtoc-dd-hdr-bc { display:flex; align-items:center; gap:3px; flex:1; flex-wrap:wrap; justify-content:center; overflow:hidden; }
.mtoc-dd-hdr-bc .mtoc-dd-bc-item { color:rgba(255,255,255,.8); cursor:pointer; padding:1px 4px; border-radius:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:80px; }
.mtoc-dd-hdr-bc .mtoc-dd-bc-item:hover { background:rgba(255,255,255,.15); }
.mtoc-dd-hdr-bc .mtoc-dd-bc-sep { color:rgba(255,255,255,.35); flex-shrink:0; }
.mtoc-dd-hdr-bc .mtoc-dd-bc-cur { color:#fff; font-weight:500; padding:1px 4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100px; }

/* ══ Footer 블록 추가 스타일 ══ */
.mtoc-footer-block { margin:24px 0; }
.mtoc-footer-nav { display:flex; justify-content:space-between; padding:10px 14px; border:1px solid #e2e8f0; border-top:none; border-radius:0 0 10px 10px; background:#f8fafc; }
.mtoc-footer-nav-btn { font-size:13px; color:#2563eb; text-decoration:none; max-width:45%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mtoc-footer-nav-btn:hover { color:#1d4ed8; text-decoration:underline; }
.mtoc-footer-nav-next { margin-left:auto; text-align:right; }
/* Footer 하단 연결 */
.mtoc-footer-block .mtoc-cb-wrap,
.mtoc-footer-block .mtoc-dd-wrap { border-radius:10px 10px 0 0; }
.mtoc-footer-block .mtoc-cb-wrap + .mtoc-footer-nav,
.mtoc-footer-block .mtoc-dd-wrap + .mtoc-footer-nav { margin-top:-1px; }
