/* ========================================================
   [최종본] 옵시디언 퍼블리시 완벽 제어 CSS
   ======================================================== */
/* 1. 기본 UI 숨김 */
.site-body-left-column-site-name, .nav-view-header, .site-header-text, 
.publish-site-name, .publish-site-title, .site-title { display: none !important; }
.tree-item-icon, .collapse-icon, .nav-folder-collapse-indicator { display: none !important; }

/* 2. 픽셀 폰트 & 텍스트 질감 */
:root, body, .theme-dark, .theme-light {
    --background-primary: #000000 !important;
    --background-secondary: #000000 !important; 
    --text-normal: #39dc00 !important;
    --text-muted: #39dc00 !important;
    background-color: #000000 !important;
    color: #39dc00 !important;
}
body, body *, .markdown-rendered, .nav-folder-title, .nav-file-title, .tree-item-inner, .outline-heading {
    font-family: "Win95Font", monospace !important;
    -webkit-font-smoothing: none !important;
    text-rendering: pixelated !important;
    letter-spacing: -0.5px;
    text-shadow: none !important; 
}
body {
    background-image: linear-gradient(rgba(57, 220, 0, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(52, 161, 0, 0.05) 1px, transparent 1px) !important;
    background-size: 30px 30px !important;
}

/* 3. 링크(보라색) 및 호버(하얀색) 완벽 차단 */
a, a:visited, a:hover, a:active, .markdown-rendered a, .internal-link, .external-link {
    color: #39dc00 !important; text-decoration: none !important; border-bottom: none !important; box-shadow: none !important;
}
.tree-item-children, .workspace-leaf, .outline, .outline-content, .outline-heading-pill {
    background-color: #000000 !important; color: #39dc00 !important;
}
.nav-file-title, .nav-folder-title, .tree-item-inner, .outline-heading {
    font-size: 14px !important; color: #39dc00 !important; background-color: transparent !important;
}
.nav-file-title:hover, .nav-folder-title:hover, .tree-item-self:hover, .tree-item-self.is-active, .outline-heading:hover {
    background-color: #39dc00 !important; color: #000000 !important; 
}
::selection, *::selection { background-color: #39dc00 !important; color: #000000 !important; }

/* 4. 터미널 애니메이션 & 사이드바 문구 */
@media screen and (min-width: 769px) {
    .nav-view-outer::after {
        content: "---------------------------------------- \A Linux kernel 6.8.0-v2-generic (x86_64) \A [  0.000000] init_archiver: structure_of_photography \A [  0.015241] sensors: body(coerced), gaze(suspended) \A [  0.110293] exec: ./measure_set --target=WORLD \A [  WARN ] scale_contaminated: already_part_of_world \A ---------------------------------------- \A root@system:~# ./merge_voices --apply_noise \A [ INFO ] port_1(AI): precise, indifferent \A [ INFO ] port_2(HUMAN): wandering, affective \A [ LOG  ] interference detected: words_transform_to_noise \A [ LOG  ] superimposition: vision_meets_language \A ---------------------------------------- \A root@system:~# check_status --final \A [ FAIL ] system_status: INCOMPLETE \A [ FAIL ] error_code: failure_to_close \A [ EXIT ] world_remains_open. \A root@system:~# █" !important;
        display: block !important; white-space: pre-wrap !important; color: #39dc00 !important; font-size: 11px; opacity: 0.7; margin-left: 15px; padding-bottom: 50px;
}}

.markdown-rendered h1::after { content: " █"; animation: terminal-blink 1s step-start infinite; }
.markdown-rendered h1::before { content: "root@system:~# "; opacity: 0.6; }

/* 5. 갤러리 복구 */
.callout[data-callout="masonry"] { background: transparent !important; border: none !important; }
.callout[data-callout="masonry"] .callout-title { display: none !important; }
.callout[data-callout="masonry"] .callout-content { column-count: 3 !important; column-gap: 15px !important; display: block !important; }
.callout[data-callout="masonry"] img { width: 100% !important; height: auto !important; margin-bottom: 15px; }
@media screen and (max-width: 768px) { .callout[data-callout="masonry"] .callout-content { column-count: 2 !important; } }

.markdown-rendered .callout[data-callout="scroll"], .markdown-rendered .callout[data-callout="mid"], .markdown-rendered .callout[data-callout="slide"] {
    background: transparent !important; border: none !important; padding: 0 !important; margin: 20px 0 !important;
}
.callout[data-callout="scroll"] .callout-title, .callout[data-callout="mid"] .callout-title, .callout[data-callout="slide"] .callout-title { display: none !important; }
.callout[data-callout="scroll"] .callout-content, .callout[data-callout="mid"] .callout-content, .callout[data-callout="slide"] .callout-content {
    display: flex !important; overflow-x: auto !important; overflow-y: hidden !important; gap: 15px !important; padding-bottom: 15px !important; -webkit-overflow-scrolling: touch;
}
.callout[data-callout="scroll"] .callout-content p, .callout[data-callout="mid"] .callout-content p, .callout[data-callout="slide"] .callout-content p { display: flex !important; flex-wrap: nowrap !important; margin: 0 !important; }
.callout[data-callout="scroll"] img, .callout[data-callout="mid"] img, .callout[data-callout="slide"] img { flex-shrink: 0 !important; max-width: none !important; object-fit: contain !important; }
.callout[data-callout="scroll"] img { height: 400px !important; }
.callout[data-callout="mid"] img { height: 500px !important; }
.callout[data-callout="slide"] img { height: 600px !important; }
/* ========================================================
   [추가] 그래프 뷰 선 & 노드 색상을 폰트 색상과 통일
   ======================================================== */
:root, body, .theme-dark, .theme-light {
    --graph-line: #39dc00 !important;        /* 그래프 선 색상 */
    --graph-node: #39dc00 !important;        /* 그래프 점(노드) 색상 */
    --graph-text: #39dc00 !important;        /* 그래프 글자 색상 */
    --graph-node-unresolved: #1e7400 !important; /* 생성되지 않은 문서의 점 색상 (어두운 녹색) */
}
/* ========================================================
   [수정] 표(대시보드) 간격 및 폰트 강제 통일 (흰색->주황색 변경)
   ======================================================== */
/* ========================================================
   [최종] 마스터피스 대시보드 강제 제어 CSS (HTML 수정 금지)
   ======================================================== */

/* 미리보기 & 퍼블리시 가리지 않고 최우선 적용되도록 body 추가 */
body .m-monitor { 
    border: 2px solid #39dc00 !important; 
    background: #000000 !important; 
    padding: 15px !important; 
    margin-top: 30px !important; 
    font-family: "Win95Font", monospace !important;
    color: #39dc00 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* 옵시디언이 멋대로 생성하는 문단 여백 완벽 차단 */
body .m-monitor p {
    margin: 0 !important; 
    padding: 0 !important;
    line-height: 1.5 !important;
}

/* 대시보드 내부 모든 글자 크기, 자간 강제 통일 */
body .m-monitor div, 
body .m-monitor span {
    font-size: 11px !important; 
    letter-spacing: 0px !important; 
    line-height: 1.5 !important;
}

/* 상단 헤더 바 (SYS.KERNEL ...) 수정 */
body .m-monitor .m-header { 
    background: #1e7400 !important; /* 🟢 너무 밝은 녹색을 다른 라벨과 동일한 어두운 녹색으로 변경 */
    padding: 4px 8px !important; 
    display: flex !important; 
    justify-content: space-between !important; 
    margin-bottom: 15px !important; 
}
body .m-monitor .m-header span { 
    color: #39dc00 !important; /* 🟢 배경이 어두워졌으므로 글자는 쨍한 밝은 녹색으로 변경 */
    font-weight: bold !important; 
}

/* 중앙 제목 (SET IS THE WORLD) */
body .m-monitor .m-title-box { 
    text-align: center !important; 
    border: 1px double #39dc00 !important; 
    padding: 10px !important; 
    margin-bottom: 15px !important; 
}
body .m-monitor .big-text { 
    font-size: 18px !important; /* 스크린샷처럼 큼직하게 */
    font-weight: bold !important; 
    letter-spacing: 4px !important; 
    margin-top: 5px !important; 
    color: #39dc00 !important; 
}

/* 2단 그리드 및 점선 박스 */
body .m-monitor .m-grid { 
    display: grid !important; 
    grid-template-columns: 1fr 1fr !important; 
    gap: 15px !important; 
    margin-bottom: 15px !important; 
}
body .m-monitor .m-module-dashed { 
    border: 1px dashed #39dc00 !important; 
    padding: 10px !important; 
}

/* 녹색 라벨 (>> CORE_INSTRUCTIONS 등) */
body .m-monitor .m-label { 
    background: #1e7400 !important; 
    color: #000000 !important; 
    padding: 2px 6px !important; 
    margin-bottom: 10px !important; 
    display: inline-block !important; 
    font-weight: bold !important;
}

/* 데이터 열 정렬 */
body .m-monitor .m-row { 
    display: flex !important; 
    margin-bottom: 5px !important; 
}
body .m-monitor .m-col-label { 
    width: 85px !important; 
    opacity: 0.6 !important; 
}

/* 🟢 하얀색을 주황색(#ffb000)으로 일괄 변경 강제 적용 */
body .m-monitor .m-col-data { 
    color: #ffb000 !important; 
} 

/* 텍스트 반전 하이라이트 (HALT_REPRODUCTION, FAILURE_TO_CLOSE 등) 수정 */
body .m-monitor .m-highlight { 
    background: #1e7400 !important; /* 🟢 눈부신 배경을 어두운 녹색으로 차분하게 통일 */
    color: #1e7400 !important; /* 🟢 글자를 밝은 녹색으로 변경 */
    padding: 2px 6px !important; 
    display: inline-block !important; 
    font-weight: bold !important; 
}

/* 가로 점선 구분선 */
body .m-monitor .m-divider { 
    display: flex !important; 
    justify-content: space-between !important; 
    border-bottom: 1px dotted #39dc00 !important; 
    padding-bottom: 5px !important; 
    margin-bottom: 10px !important; 
}

/* 모바일 화면 대응 (깨짐 방지) */
@media screen and (max-width: 768px) {
    body .m-monitor .m-grid { 
        grid-template-columns: 1fr !important; 
    }
}
/* ========================================================
   [FINAL] 대시보드 퍼블리시 강제 고정 (절대 회귀 방지)
   ======================================================== */

/* ========================================================
   [최종] 표(대시보드) CSS - 색감 완벽 통일 (회색->네온그린)
   ======================================================== */

/* 대시보드 전체 틀 강제 고정 */
.publish-renderer .m-monitor,
.markdown-rendered .m-monitor { 
    border: 2px solid #39dc00 !important; 
    background: #000000 !important; 
    padding: 15px !important; 
    margin-top: 20px !important; 
    font-family: "Win95Font", monospace !important;
    color: #39dc00 !important;
    box-sizing: border-box !important;
    overflow: visible !important; /* 세로 확장 방어 */
}

/* 옵시디언이 멋대로 넣는 p 태그 여백 압살 (줄바꿈 방어) */
.publish-renderer .m-monitor p,
.markdown-rendered .m-monitor p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}

/* 대시보드 내부 모든 요소의 폰트/자간/줄간격 일괄 통일 */
.publish-renderer .m-monitor *,
.markdown-rendered .m-monitor * {
    font-size: 11px !important; 
    letter-spacing: 0px !important; 
    line-height: 1.5 !important; 
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* 상단 헤더 바 (SYS.KERNEL V.1.4.0 등) */
.publish-renderer .m-monitor .m-header,
.markdown-rendered .m-monitor .m-header { 
    background: #1e7400 !important; /* 어두운 녹색 배경 유지 */
    padding: 4px 8px !important; 
    display: flex !important; 
    justify-content: space-between !important; 
    margin-bottom: 15px !important; 
}
.publish-renderer .m-monitor .m-header *,
.markdown-rendered .m-monitor .m-header * { 
    color: #39dc00 !important; /* 글자는 밝은 네온 그린으로 변경 */
    font-weight: bold !important; 
}

/* 중앙 제목 (SET IS THE WORLD) */
.publish-renderer .m-monitor .m-title-box,
.markdown-rendered .m-monitor .m-title-box { 
    text-align: center !important; 
    border: 1px double #39dc00 !important; 
    padding: 10px !important; 
    margin-bottom: 15px !important; 
}
.publish-renderer .m-monitor .big-text,
.markdown-rendered .m-monitor .big-text { 
    font-size: 18px !important; /* 스크린샷처럼 큼직하게 */
    font-weight: bold !important; 
    letter-spacing: 4px !important; 
    margin-top: 5px !important; 
    color: #39dc00 !important;
}

/* 2단 그리드 및 점선 박스 */
.publish-renderer .m-monitor .m-grid,
.markdown-rendered .m-monitor .m-grid { 
    display: grid !important; grid-template-columns: 1fr 1fr !important; 
    gap: 15px !important; margin-bottom: 15px !important; 
}
.publish-renderer .m-monitor .m-module-dashed,
.markdown-rendered .m-monitor .m-module-dashed { 
    border: 1px dashed #39dc00 !important; padding: 10px !important; 
}

/* 녹색 라벨 (>> CORE_INSTRUCTIONS 등) */
.publish-renderer .m-monitor .m-label,
.markdown-rendered .m-monitor .m-label { 
    background: #1e7400 !important; 
    color: #000000 !important; 
    padding: 2px 6px !important; 
    margin-bottom: 10px !important; 
    display: inline-block !important; 
    font-weight: bold !important;
}

/* 데이터 열 정렬 */
.publish-renderer .m-monitor .m-row,
.markdown-rendered .m-monitor .m-row { 
    display: flex !important; margin-bottom: 5px !important; 
}
.publish-renderer .m-monitor .m-col-label,
.markdown-rendered .m-monitor .m-col-label { 
    width: 85px !important; opacity: 0.6 !important; 
}

/* 주황색 데이터 텍스트 (예: COERCED_STATE) */
.publish-renderer .m-monitor .m-col-data,
.markdown-rendered .m-monitor .m-col-data { 
    color: #ffb000 !important; /* 주황색 유지 */
} 

/* 🟢 하얀색/회색 폰트를 밝은 네온그린(#39dc00)으로 강제 집행 (가장 중요) */
.publish-renderer .m-monitor .m-col-grey,
.markdown-rendered .m-monitor .m-col-grey { 
    color: #39dc00 !important; 
} 

/* 텍스트 반전 하이라이트 (FAILURE_TO_CLOSE 등) */
.publish-renderer .m-monitor .m-highlight,
.markdown-rendered .m-monitor .m-highlight { 
    background: #1e7400 !important; /* 어두운 녹색 배경 */
    color: #39dc00 !important; /* 글자는 밝은 네온 그린 */
    padding: 2px 6px !important; 
    display: inline-block !important; 
    font-weight: bold !important; 
}

/* 가로 점선 구분선 */
.publish-renderer .m-monitor .m-divider,
.markdown-rendered .m-monitor .m-divider { 
    display: flex !important; justify-content: space-between !important; 
    border-bottom: 1px dotted #39dc00 !important; padding-bottom: 5px !important; margin-bottom: 10px !important; 
}

/* 모바일 화면 대응 (깨짐 방지) */
@media screen and (max-width: 768px) {
    .publish-renderer .m-monitor .m-grid,
    .markdown-rendered .m-monitor .m-grid { 
        grid-template-columns: 1fr !important; 
    }
}/* ========================================================
   [추가] 메뉴 바(사이드바) 구분선 & 그래프 테두리 색상 통일
   ======================================================== */

/* 전역 구분선 변수 통일 */
:root, body, .theme-dark, .theme-light {
    --background-modifier-border: #39dc00 !important;
    --divider-color: #39dc00 !important;
}

/* 🟢 왼쪽 메뉴 바와 중앙 본문 사이의 세로 선 */
.site-body-left-column {
    border-right: 2px solid #39dc00 !important;
}


/* 🟢 오른쪽 인터랙티브 그래프 박스 테두리 */
.graph-view-container, 
.graph-view-wrapper {
    border: 2px solid #39dc00 !important;
}/* ========================================================
   [추가] 마크다운 일반 본문 글씨 크기 및 줄간격 조절
   ======================================================== */

/* 본문의 일반 텍스트, 리스트(글머리 기호) 폰트 크기 제어 */
.publish-renderer .markdown-rendered p,
.publish-renderer .markdown-rendered li {
    font-size: 13px !important; /* 🟢 원하는 글씨 크기로 숫자를 변경하세요 (예: 12px, 15px 등) */
    line-height: 1.6 !important; /* 🟢 글씨가 커지면 줄간격도 살짝 넓혀주는 것이 가독성에 좋습니다 */
}

/* 본문 내의 제목(H1~H6) 크기도 조절하고 싶으시다면 아래 수치를 변경하세요 */
.publish-renderer .markdown-rendered h1 { font-size: 20px !important; }
.publish-renderer .markdown-rendered h2 { font-size: 18px !important; }
.publish-renderer .markdown-rendered h3 { font-size: 15px !important; }
/* ========================================================
   [최종] 대시보드 하단 LOADING 픽셀 무빙 바 (검열 방어)
   ======================================================== */

/* 전체 로딩 박스 틀 */
body .m-loading-wrap {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 20px !important;
    padding: 10px 15px !important;
    border: 1px dashed #39dc00 !important;
    box-sizing: border-box !important;
    background: #000000 !important;
}

/* LOADING... 글자 (보내주신 사진처럼 쨍한 네온 그린으로 통일) */
body .m-loading-wrap .load-txt {
    color: #39dc00 !important; 
    font-family: "Win95Font", monospace !important;
    font-size: 13px !important;
    font-weight: bold !important;
    margin-right: 15px !important;
    letter-spacing: 2px !important;
    animation: terminal-blink 1s step-end infinite !important;
}

/* 🟢 움직이는 픽셀 바 (핵심) -> 이퀄라이저 스타일로 변경! */
body .m-loading-bar {
    flex-grow: 1 !important;
    height: 14px !important;
    border: 1px solid #39dc00 !important; /* 겉 테두리는 고정 (깨짐 방지) */
    background-color: #000000 !important;
    display: inline-block !important;
    position: relative !important; /* 가짜 블록을 가두기 위한 필수 설정 */
    
    /* 기존의 배경과 애니메이션 지우기 */
    background-image: none !important;
    animation: none !important;
}

/* 🟢 속을 채우는 이퀄라이저 내용물 생성 */
body .m-loading-bar::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    
    /* 기존에 쓰던 녹색 픽셀 패턴을 내용물에 입힘 */
    background-image: repeating-linear-gradient(
        90deg, 
        #39dc00 0px, 
        #39dc00 12px, 
        transparent 12px, 
        transparent 16px
    ) !important;
    background-size: 16px 100% !important;
    
    /* 너비가 스무스하게 늘어났다 줄어드는 애니메이션 */
    animation: bar-eq-pulse 1.2s ease-in-out infinite alternate !important;
}

/* 이퀄라이저 심장 박동 모터 */
@keyframes bar-eq-pulse {
    0% { width: 5%; }    /* 최소한으로 줄었을 때 (살짝 남겨둠) */
    100% { width: 70%; } /* 게이지가 꽉 찼을 때 */
}


/* ========================================================
   [복구] 시스템 경고 박스 (빨간 점선 + 아래로 이동)
   ======================================================== */

/* 1. 경고 박스 전체 틀 */
.publish-renderer .sys-alert, 
.markdown-rendered .sys-alert {
    border: 2px dashed #ff3333 !important; /* 빨간색 점선 복구 */
    background: rgba(255, 51, 51, 0.05) !important; /* 옅은 붉은 배경 */
    
    /* 🔴 요청하신 대로 박스를 밑으로 내리는 설정 (기존 15px -> 50px) */
    margin: 30px 0 25px 0 !important; 
    
    font-family: "Win95Font", monospace !important;
    border-radius: 0px !important; /* 둥근 모서리 절대 금지 */
    box-sizing: border-box !important;
    display: block !important;
}

/* 2. 상단 빨간색 헤더 바 [!] SYSTEM_CRITICAL_WARNING */
.sys-alert-header {
    background: #ff3333 !important; 
    color: #000000 !important; /* 글자는 검정색 */
    padding: 6px 20px !important; 
    font-weight: bold !important; 
    font-size: 12px !important;
    display: flex !important;
    align-items: center !important;
}

/* 3. 내부 주황색 경고 텍스트 */
.sys-alert-body {
    padding: 15px !important; 
    color: #ffb000 !important; /* 주황색 텍스트 복구 */
    font-size: 11px !important; 
    line-height: 1.6 !important;
    background: transparent !important;
}

/* 4. 깜빡이는 경고 애니메이션 */
.blink-warn { 
    animation: terminal-blink 1s step-end infinite !important; 
}
.blink-warn { animation: terminal-blink 1s step-end infinite !important; }
.sys-alert-body {
    padding: 10px !important; color: #ffb000 !important; /* 주황색 텍스트 */
    font-size: 11px !important; line-height: 1.5 !important;
}/* ========================================================
   [통합 완성판] 대시보드 하단 4구역 (사파리/크롬 완벽 호환)
   ======================================================== */
.publish-renderer .sys-footer-panel, .markdown-rendered .sys-footer-panel {
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important;
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
    border-top: 1px dashed #39dc00 !important; 
    margin-top: 25px !important;
    padding-top: 20px !important;
    gap: 35px !important; 
}

/* 모든 모듈의 제목 규격 통일 */
.sys-m-title {
    font-size: 14px !important; color: #ffb000 !important; margin-bottom: 12px !important; 
    font-family: "Win95Font", monospace !important; font-weight: bold !important; 
    text-align: left !important; letter-spacing: 1px !important;
}

/* 1. 미니 CPU/RAM 모니터 (사파리 찌그러짐 방지) */
.sys-mini-res { width: 165px !important; height: 100px !important; flex-shrink: 0 !important; -webkit-flex-shrink: 0 !important; }
.sys-w-row { display: flex !important; display: -webkit-flex !important; align-items: center !important; margin-bottom: 9px !important; }
.sys-w-label { font-size: 13px !important; width: 35px !important; color: #39dc00 !important; flex-shrink: 0 !important; }
.sys-w-bar { flex-grow: 1 !important; -webkit-flex-grow: 1 !important; height: 10px !important; border: 1px solid #1e7400 !important; background: #000 !important; }
.sys-w-fill { height: 100% !important; background: #39dc00 !important; }

/* 2. 이퀄라이저 (사파리 찌그러짐 방지) */
.sys-eq-wrap { width: 140px !important; height: 100px !important; flex-shrink: 0 !important; -webkit-flex-shrink: 0 !important; }
.sys-eq-bars { display: flex !important; display: -webkit-flex !important; justify-content: flex-start !important; align-items: flex-end !important; height: 65px !important; gap: 5px !important; }
.eq-bar { width: 14px !important; background: #39dc00 !important; animation: eq-bounce 1s infinite ease-in-out alternate !important; -webkit-animation: eq-bounce 1s infinite ease-in-out alternate !important; }
.eq-1 { animation-delay: 0.1s !important; -webkit-animation-delay: 0.1s !important; } .eq-2 { animation-delay: 0.4s !important; -webkit-animation-delay: 0.4s !important; } .eq-3 { animation-delay: 0.2s !important; -webkit-animation-delay: 0.2s !important; } .eq-4 { animation-delay: 0.6s !important; -webkit-animation-delay: 0.6s !important; } .eq-5 { animation-delay: 0.3s !important; -webkit-animation-delay: 0.3s !important; }
@-webkit-keyframes eq-bounce { 0% { height: 10px; } 100% { height: 65px; } }
@keyframes eq-bounce { 0% { height: 10px; } 100% { height: 65px; } }


/* 4. 섹터 맵 (사파리 찌그러짐 방지) */
.sys-node-wrap { width: 95px !important; height: 100px !important; flex-shrink: 0 !important; -webkit-flex-shrink: 0 !important; }
.sys-node-map { display: grid !important; grid-template-columns: repeat(4, 20px) !important; gap: 5px !important; }
.sys-node-map .node { width: 20px !important; height: 20px !important; background: rgba(57, 220, 0, 0.3) !important; border: 1px solid #39dc00 !important; box-sizing: border-box !important; }
.sys-node-map .node.alert { background: #ff3333 !important; border-color: #ff3333 !important; box-shadow: 0 0 8px #ff3333 !important; animation: pulse-alert 0.5s infinite alternate !important; -webkit-animation: pulse-alert 0.5s infinite alternate !important; }
@-webkit-keyframes pulse-alert { 0% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 100% { opacity: 0.4; -webkit-transform: scale(0.9); transform: scale(0.9); } }
@keyframes pulse-alert { 0% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 100% { opacity: 0.4; -webkit-transform: scale(0.9); transform: scale(0.9); } }/* ========================================================
   [추가] 연락처 패널 및 간격 미세조정
   ======================================================== */

/* 오디오 이퀄라이저와 섹터 맵 사이의 간격 강제 축소 */
.sys-eq-wrap {
    margin-right: -15px !important; 
}

/* 연락처 패널 구조 (섹터 맵 바로 옆에 정렬) */
.sys-contact-wrap { 
    height: 100px !important; 
    flex-shrink: 0 !important; 
    -webkit-flex-shrink: 0 !important; 
    margin-left: 5px !important; 
}
.sys-c-row { 
    display: flex !important; 
    align-items: center !important; 
    margin-bottom: 7px !important; 
    font-size: 13px !important; 
    color: #39dc00 !important; 
}
.sys-c-label { 
    width: 45px !important; 
    color: #39dc00 !important; 
    opacity: 0.8 !important; 
}
.sys-c-link { 
    color: #39dc00 !important; 
    text-decoration: none !important; 
}
/* ========================================================
   [추가] 전체 스크롤바 커스텀 (레트로 터미널 스타일)
   ======================================================== */

/* 1. 파이어폭스(Firefox) 브라우저 대응 */
* {
    scrollbar-width: thin !important;
    scrollbar-color: #39dc00 #000000 !important;
}

/* 2. 크롬(Chrome), 사파리(Safari), 엣지(Edge) 브라우저 대응 */
::-webkit-scrollbar {
    width: 12px !important;  /* 세로 스크롤바 너비 */
    height: 12px !important; /* 가로 스크롤바 높이 */
    background-color: #000000 !important; /* 스크롤바 전체 배경색 (검정) */
}

/* 스크롤바가 굴러가는 기찻길(트랙) */
::-webkit-scrollbar-track {
    background: #000000 !important;
    border-left: 1px solid #1e7400 !important; /* 트랙 왼쪽에 어두운 녹색 선을 그어 영역 구분 */
}

/* 🟢 실제로 잡고 움직이는 스크롤 막대(Thumb) */
::-webkit-scrollbar-thumb {
    background-color: #39dc00 !important; /* 네온 그린 막대 */
    border: 2px solid #000000 !important; /* 막대 테두리를 까맣게 깎아서 약간 얇아 보이게 연출 */
    border-radius: 0px !important; /* 레트로 감성을 위해 둥근 모서리 완전 제거 (직각) */
}

/* 스크롤 막대에 마우스를 올렸을 때 (주황색으로 하이라이트) */
::-webkit-scrollbar-thumb:hover {
    background-color: #ffb000 !important; 
}

/* 가로/세로 스크롤바가 만나는 구석 모서리 */
::-webkit-scrollbar-corner {
    background: #000000 !important;
}/* ========================================================
   [위험 구역] 시스템 붕괴 경고 배너 & 네온 글리치 효과
   ======================================================== */


/* 2. 치명적 글리치 효과 (초록/주황색 톤으로 일체화) */
.sys-m-title:hover, .big-text:hover, .site-body-left-column::after:hover {
    color: #ffb000 !important; /* 마우스를 올리면 경고를 뜻하는 주황색으로 변함 */
    
    /* 기존 빨강/파랑 잔상에서 초록색 계열의 홀로그램 잔상으로 변경 */
    text-shadow: 2px 0 #39dc00, -2px 0 #1e7400 !important; 
    
    /* 지지직거리는 떨림 모터 장착 */
    animation: glitch-shake 0.15s linear infinite !important; 
    
    /* 해킹 타겟팅 십자선 커서 */
    cursor: crosshair !important; 
}

/* 글리치 떨림 모터 */
@keyframes glitch-shake {
    0% { transform: translate(0); }
    20% { transform: translate(-2px, 1px); }
    40% { transform: translate(-1px, -1px); }
    60% { transform: translate(2px, 1px); }
    80% { transform: translate(1px, -1px); }
    100% { transform: translate(0); }
}/* ========================================================
   [마크다운 해킹] 기본 콜아웃 박스를 오렌지 데이터 분석 박스로 변경
   ======================================================== */
.publish-renderer .callout, .markdown-rendered .callout {
    background-color: rgba(255, 176, 0, 0.1) !important; /* 배경은 옅은 오렌지 */
    border: 1px solid #ffb000 !important; /* 테두리는 쨍한 오렌지 */
    border-radius: 0px !important; /* 터미널처럼 직각 모서리로 깎기 */
    box-shadow: inset 0 0 10px rgba(255, 176, 0, 0.2) !important;
    margin-top: 20px !important;
}

/* 콜아웃 안의 글씨 색상 오렌지로 강제 변경 */
.publish-renderer .callout-content, .markdown-rendered .callout-content {
    color: #ffb000 !important;
    font-family: "Win95Font", monospace !important;
    letter-spacing: 1px !important;
}

/* 연필 아이콘 색상을 경고(빨강) 색으로 변경 */
.publish-renderer .callout-icon, .markdown-rendered .callout-icon {
    color: #ff3333 !important; 
}

/* 콜아웃 제목 (있는 경우) 디자인 변경 */
.publish-renderer .callout-title, .markdown-rendered .callout-title {
    color: #ffb000 !important;
    font-family: "Win95Font", monospace !important;
    font-weight: bold !important;
}/* ========================================================
   [완성형] 그래프 포인트(막대/파이) 형광초록 강제화
   ======================================================== */

/* 1. 배경을 투명하게 만들어 홈페이지 블랙 배경 노출 */
.publish-renderer .mermaid svg,
.markdown-rendered .mermaid svg,
.mermaid svg rect[width="100%"],
.mermaid svg [class*="background"] {
    fill: transparent !important;
    background-color: transparent !important;
}

/* 2. 막대 그래프(Bar)의 막대기만 형광초록으로 칠하기 */
/* 배경용 rect와 섞이지 않도록 'bar' 클래스만 조준합니다. */
.mermaid rect.bar, 
.mermaid .bar rect, 
.mermaid [class*="bar"],
.mermaid g rect:not([width="100%"]):not([class*="background"]) {
    fill: #39dc00 !important;   /* 🟢 막대 포인트 색상 */
    fill-opacity: 1 !important;
    stroke: #39dc00 !important;
}

/* 3. 파이 차트(원형)의 조각 색상 강제 지정 */
/* 파이 조각인 path 요소만 골라 형광초록을 붓습니다. */
.mermaid g.pieChart path {
    fill: #39dc00 !important;   /* 🟢 파이 조각 포인트 색상 */
    fill-opacity: 1 !important;
    stroke: #000000 !important; /* 조각 간 구분선은 검정으로 */
    stroke-width: 2px !important;
}

/* 조각 구분을 위해 짝수 번째 조각은 약간 진한 초록으로 변경 */
.mermaid g.pieChart path:nth-of-type(even) {
    fill: #1e7400 !important;
}

/* 4. 글자 및 축 라인 형광초록 유지 */
.mermaid text, .mermaid tspan {
    fill: #39dc00 !important;
    font-family: "Win95Font", monospace !important;
}

.mermaid path.domain, .mermaid .tick line, .mermaid line {
    stroke: #39dc00 !important;
}

/* 5. 범례(Legend)의 작은 네모 색상까지 통일 */
.mermaid .legend rect {
    fill: #39dc00 !important;
}/* 딥웹 해커 커서: 정밀 조준형 십자선 */
html, body, .publish-app {
    cursor: crosshair !important;
}

/* 클릭 가능한 곳에 마우스를 올리면 커서가 사라지거나, 아주 작은 점으로 변하게 하여 '비밀스러운' 느낌 강조 */
a:hover, button:hover {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 10"><circle cx="5" cy="5" r="2" fill="%2339dc00"/></svg>'), pointer !important;
}/* 터미널 프롬프트 로고 스타일 */
.nav-header .nav-title::before {
    content: "root@masterpiece_v2:~$ "; /* 앞에 붙는 명령어 */
    color: #1e7400; /* 좀 더 어두운 초록으로 대비 */
    font-family: "Win95Font", monospace !important;
}

.nav-header .nav-title {
    color: #39dc00 !important; /* 메인 형광초록 */
    text-shadow: 0 0 8px #39dc00; /* 네온 광채 */
    font-weight: bold;
}

/* 커서가 깜빡이는 효과 */
.nav-header .nav-title::after {
    content: "_";
    animation: blink 1s infinite;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}/* ========================================================
   [Deep Web] 해커 터미널 로고 시스템
   ======================================================== */

.nav-header .nav-title {
    font-family: "Win95Font", monospace !important;
    color: #39dc00 !important;
    font-weight: bold !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    text-shadow: 0 0 5px #39dc00, 0 0 10px rgba(57, 220, 0, 0.5);
    /* 글리치 애니메이션 */
    animation: glitch 3s infinite;
}

/* 터미널 프롬프트 효과 (앞에 root@... 추가) */
.nav-header .nav-title::before {
    content: "root@V2:~$ ";
    font-size: 0.8rem;
    color: #1e7400;
    margin-right: 5px;
    text-shadow: none;
}

/* 깜빡이는 커서 효과 */
.nav-header .nav-title::after {
    content: "_";
    animation: blink 0.8s steps(2, start) infinite;
}

@keyframes blink {
    to { visibility: hidden; }
}

@keyframes glitch {
    0% { transform: translate(0); }
    1% { transform: translate(-2px, 1px); text-shadow: 2px 0 #ff0000; }
    2% { transform: translate(2px, -1px); text-shadow: -2px 0 #0000ff; }
    3% { transform: translate(0); text-shadow: 0 0 5px #39dc00; }
    100% { transform: translate(0); }
}/* ========================================================
   [Desktop Only] 최상단 시스템 경고 배너 (전광판 스크롤)
   ======================================================== */

@media screen and (min-width: 769px) {
    /* 1. 데스크탑에서만 상단 고정 배너 생성 */
    body::before {
        content: ">>> FATAL_BREACH_DETECTED : SYSTEM KERNEL COMPROMISED. DO NOT DISCONNECT. TRACING... <<<" !important;
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        
        /* 배경과 선반은 고정 (깜빡이거나 움직이지 않음) */
        background-color: #000000 !important;
        border-bottom: 2px dashed #ff3333 !important; 
        
        /* 빨간색 글씨 */
        color: #ff3333 !important; 
        font-family: "Win95Font", monospace !important;
        font-size: 13px !important;
        font-weight: bold !important;
        letter-spacing: 2px !important;
        padding: 6px 0 !important;
        z-index: 99999 !important;
        
        /* 🔴 [핵심 변경] 글씨를 한 줄로 길게 펴고, 전광판 스크롤 모터 장착 */
        white-space: nowrap !important;
        overflow: hidden !important;
        text-align: left !important;
        
        /* 12초 동안 오른쪽에서 왼쪽으로 흘러가는 애니메이션 */
        -webkit-animation: cyber-marquee-scroll 12s linear infinite !important;
        animation: cyber-marquee-scroll 12s linear infinite !important;
        transform: translateZ(0) !important;
    }

    /* 2. 배너 높이만큼 데스크탑 본문만 아래로 밀기 */
    .app-container, .publish-app {
        margin-top: 32px !important;
    }
}

/* 🔴 오른쪽 끝(100vw)에서 시작해 왼쪽 끝(-150vw)으로 완전히 사라지는 스크롤 모터 */
@-webkit-keyframes cyber-marquee-scroll {
    0%   { text-indent: 100vw; }
    100% { text-indent: -150vw; }
}
@keyframes cyber-marquee-scroll {
    0%   { text-indent: 100vw; }
    100% { text-indent: -150vw; }
}

/* --------------------------------------------------------
   [Mobile Clean] 모바일에서는 배너와 마진을 완전히 제거
   -------------------------------------------------------- */
@media screen and (max-width: 768px) {
    body::before { display: none !important; }
    .app-container, .publish-app { margin-top: 0 !important; }
}
}/* ========================================================
   [Popup] SET: Inclusion 부팅 및 개념 선언 스플래시
   ======================================================== */

body::after {
    /* 작위적인 해킹 기술 문구를 뺀 깔끔하고 철학적인 최종 버전 */
    content: ">>> INITIATING SYSTEM KERNEL... \A >>> LOADING DATA SET: WORLD. \A \A [LOG] Set is the world. I’m measuring the perimeter of the set. \A [WARN] But I got something... \A [WARN] The ruler I use is already contaminated by the logic of the set. \A \A [SYS_NOTE] We are not the observer. We are the observed. \A \A >>> ENTERING MASTERPIECE V2. \A █" !important;
    
    /* 화면 덮기 */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9999999 !important;
    
    /* 터미널 디자인 */
    background-color: #000000 !important;
    color: #39dc00 !important;
    font-family: "Win95Font", monospace !important;
    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 2 !important;
    white-space: pre-wrap !important;
    
    /* 정렬 및 여백 */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important;
    padding: 30px !important;
    box-sizing: border-box !important;

    /* 블러 및 페이드 아웃 애니메이션 */
    animation: concept-boot 5.5s ease-in-out forwards !important;
}

/* 터미널 부팅 시퀀스 모터 */
@keyframes concept-boot {
    0%   { opacity: 1; pointer-events: auto; text-shadow: 0 0 10px #39dc00; }
    10%  { opacity: 1; text-shadow: none; } /* 글리치 효과처럼 켜짐 */
    75%  { opacity: 1; pointer-events: auto; } /* 4초간 내용 유지 */
    90%  { opacity: 0; pointer-events: none; filter: blur(5px); } /* 아웃포커싱 되며 사라짐 */
    100% { opacity: 0; pointer-events: none; visibility: hidden; }
}/* ========================================================
   [데이터 스캔] COERCED_STATE, HALT_REPRODUCTION 등 타겟팅
   ======================================================== */

/* 1. 작가님이 짚어주신 주황색 데이터(.m-col-data)와 반전 글씨(.m-highlight) 정밀 조준 */
body .publish-renderer .m-monitor .m-col-data,
body .markdown-rendered .m-monitor .m-col-data,
body .publish-renderer .m-monitor .m-highlight,
body .markdown-rendered .m-monitor .m-highlight {
    /* 애니메이션 모터 강제 장착 */
    -webkit-animation: core-data-glitch 1.5s infinite !important;
    animation: core-data-glitch 1.5s infinite !important;
    
    /* 🚨 브라우저가 애니메이션을 무시하지 못하도록 '독립된 블록'으로 강제 전환 (핵심!) */
    display: inline-block !important; 
    transform: translateZ(0) !important;
}

/* 2. 글자 색상은 건드리지 않고 투명도(opacity)만 껐다 켜서 글자 고정 방어막을 우회 */
@-webkit-keyframes core-data-glitch {
    0%, 74%   { opacity: 1; }  /* 켜짐 */
    75%, 84%  { opacity: 0; }  /* 꺼짐 */
    85%, 91%  { opacity: 1; }  /* 켜짐 */
    92%, 100% { opacity: 0; }  /* 꺼짐 */
}

@keyframes core-data-glitch {
    0%, 74%   { opacity: 1; }
    75%, 84%  { opacity: 0; }
    85%, 91%  { opacity: 1; }
    92%, 100% { opacity: 0; }
}/* ========================================================
   [물리적 점멸 스위치] 브라우저 강제 제어 클래스 (수정본)
   ======================================================== */
.sys-blink {
    -webkit-animation: fatal-glitch 0.5s infinite !important;
    animation: fatal-glitch 0.5s infinite !important;
    transform: translateZ(0) !important; 
    /* 문제가 되던 display: inline-block 코드를 삭제했습니다! */
}

@-webkit-keyframes fatal-glitch {
    0%, 74%   { opacity: 1; filter: blur(0px); }
    75%, 84%  { opacity: 0; filter: blur(2px); }
    85%, 91%  { opacity: 1; filter: blur(0px); }
    92%, 100% { opacity: 0; filter: blur(2px); }
}
@keyframes fatal-glitch {
    0%, 74%   { opacity: 1; filter: blur(0px); }
    75%, 84%  { opacity: 0; filter: blur(2px); }
    85%, 91%  { opacity: 1; filter: blur(0px); }
    92%, 100% { opacity: 0; filter: blur(2px); }
}/* ========================================================
   [로딩 깜빡임 복구] LOADING 텍스트 전용 강제 점멸 모터
   ======================================================== */
body .m-loading-wrap .load-txt {
    -webkit-animation: loading-hard-blink 1.2s infinite !important;
    animation: loading-hard-blink 1.2s infinite !important;
    transform: translateZ(0) !important; /* 브라우저 멈춤 버그 완벽 방어 */
}

/* 0.6초 켜지고 0.6초 꺼지는 정직하고 강력한 깜빡임 */
@-webkit-keyframes loading-hard-blink {
    0%, 49%   { visibility: visible; opacity: 1; }
    50%, 100% { visibility: hidden; opacity: 0; }
}
@keyframes loading-hard-blink {
    0%, 49%   { visibility: visible; opacity: 1; }
    50%, 100% { visibility: hidden; opacity: 0; }
}/* ========================================================
   [Popup] 메인 화면(splash-mode) 전용 부팅 스플래시
   ======================================================== */

/* 이제 모든 화면이 아닌, cssclasses: splash-mode가 적힌 노트에서만 작동합니다 */
.splash-mode::after {
    content: ">>> INITIATING SYSTEM KERNEL... \A >>> LOADING DATA SET: WORLD. \A \A [LOG] Set is the world. I’m measuring the perimeter of the set. \A [WARN] But I got something... \A [WARN] The ruler I use is already contaminated by the logic of the set. \A \A [SYS_NOTE] We are not the observer. We are the observed. \A \A >>> ENTERING MASTERPIECE V2. \A █" !important;
    
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9999999 !important;
    
    background-color: #000000 !important;
    color: #39dc00 !important;
    font-family: "Win95Font", monospace !important;
    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 2 !important;
    white-space: pre-wrap !important;
    
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important;
    padding: 30px !important;
    box-sizing: border-box !important;

    /* 애니메이션 속도는 그대로 5.5초 유지 */
    -webkit-animation: concept-boot 5.5s ease-in-out forwards !important;
    animation: concept-boot 5.5s ease-in-out forwards !important;
}

@-webkit-keyframes concept-boot {
    0%   { opacity: 1; pointer-events: auto; text-shadow: 0 0 10px #39dc00; }
    10%  { opacity: 1; text-shadow: none; } 
    75%  { opacity: 1; pointer-events: auto; } 
    90%  { opacity: 0; pointer-events: none; filter: blur(5px); } 
    100% { opacity: 0; pointer-events: none; visibility: hidden; }
}

@keyframes concept-boot {
    0%   { opacity: 1; pointer-events: auto; text-shadow: 0 0 10px #39dc00; }
    10%  { opacity: 1; text-shadow: none; }
    75%  { opacity: 1; pointer-events: auto; }
    90%  { opacity: 0; pointer-events: none; filter: blur(5px); }
    100% { opacity: 0; pointer-events: none; visibility: hidden; }
}/* ========================================================
   [Popup] 대시보드 본문 전용 HTML 스플래시 (오류 제로)
   ======================================================== */
.sys-splash-blanket {
    position: absolute !important; 
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100vh !important; /* 본문 영역만 까맣게 덮음 */
    z-index: 999 !important;
    background-color: #000000 !important;
    
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    
    /* 5.5초 뒤에 스르륵 사라지는 모터 */
    -webkit-animation: local-boot 5.5s ease-in-out forwards !important;
    animation: local-boot 5.5s ease-in-out forwards !important;
}

.sys-splash-text {
    color: #39dc00 !important;
    font-family: "Win95Font", monospace !important;
    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 2 !important;
    text-align: left !important;
}

@-webkit-keyframes local-boot {
    0%   { opacity: 1; pointer-events: auto; }
    75%  { opacity: 1; pointer-events: auto; } 
    90%  { opacity: 0; pointer-events: none; filter: blur(5px); } 
    100% { opacity: 0; pointer-events: none; visibility: hidden; }
}
@keyframes local-boot {
    0%   { opacity: 1; pointer-events: auto; }
    75%  { opacity: 1; pointer-events: auto; }
    90%  { opacity: 0; pointer-events: none; filter: blur(5px); }
    100% { opacity: 0; pointer-events: none; visibility: hidden; }
}/* ========================================================
   [Popup] SET: Inclusion 부팅 및 개념 선언 스플래시 (초고속 스킵 버전)
   ======================================================== */

body::after {
    content: ">>> INITIATING SYSTEM KERNEL... \A >>> LOADING DATA SET: WORLD. \A \A [LOG] Set is the world. I’m measuring the perimeter of the set. \A [WARN] But I got something... \A [WARN] The ruler I use is already contaminated by the logic of the set. \A \A [SYS_NOTE] We are not the observer. We are the observed. \A \A >>> ENTERING MASTERPIECE V2. \A █" !important;
    
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9999999 !important;
    
    background-color: #000000 !important;
    color: #39dc00 !important;
    font-family: "Win95Font", monospace !important;
    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 2 !important;
    white-space: pre-wrap !important;
    
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important;
    padding: 30px !important;
    box-sizing: border-box !important;

    /* 🟢 5.5초 였던 애니메이션을 1.5초로 미친듯이 단축 */
    -webkit-animation: concept-boot-fast 3.5s ease-in-out forwards !important;
    animation: concept-boot-fast 3.5s ease-in-out forwards !important;
}

/* 초고속 터미널 부팅 시퀀스 모터 */
@-webkit-keyframes concept-boot-fast {
    0%   { opacity: 1; pointer-events: auto; text-shadow: 0 0 10px #39dc00; }
    10%  { opacity: 1; text-shadow: none; } 
    40%  { opacity: 1; pointer-events: auto; } /* 아주 잠깐만 보여줌 */
    70%  { opacity: 0; pointer-events: none; filter: blur(5px); } /* 바로 사라지기 시작 */
    100% { opacity: 0; pointer-events: none; visibility: hidden; }
}

@keyframes concept-boot-fast {
    0%   { opacity: 1; pointer-events: auto; text-shadow: 0 0 10px #39dc00; }
    10%  { opacity: 1; text-shadow: none; }
    40%  { opacity: 1; pointer-events: auto; }
    70%  { opacity: 0; pointer-events: none; filter: blur(5px); }
    100% { opacity: 0; pointer-events: none; visibility: hidden; }
}

/* ========================================================
   [인라인 강조 텍스트] 백틱(`) 코드 박스 (글씨만 주황색)
   ======================================================== */

body .markdown-rendered :not(pre) > code,
body .publish-renderer :not(pre) > code {
    background-color: transparent !important; /* 바탕색은 완전히 투명하게 날림 */
    color: #ffb000 !important;                /* 글씨 색상만 대시보드 주황색으로 */
    padding: 0 4px !important;                /* 배경이 없으니 여백을 살짝만 남김 */
    font-weight: bold !important;             /* 눈에 띄게 굵기 유지 */
    box-shadow: none !important;          
    border: none !important;                  /* 혹시 모를 테두리도 완벽 제거 */
}/* ========================================================
   [최종 업그레이드] 공식 abstract 콜아웃 마개조 패널 (버그 방어형)
   ======================================================== */

/* 1. 공식 상자를 터미널 점선 박스로 개조 */
.publish-renderer .callout[data-callout="abstract"],
.markdown-rendered .callout[data-callout="abstract"] {
    border: 1px dashed #39dc00 !important; 
    background-color: transparent !important; 
    padding: 15px 20px !important; 
    margin-bottom: 30px !important; 
    border-radius: 0px !important;
    box-shadow: none !important;
}

/* 2. 공식 제목 강제 삭제 */
.publish-renderer .callout[data-callout="abstract"] .callout-title,
.markdown-rendered .callout[data-callout="abstract"] .callout-title {
    display: none !important; 
}

/* 3. 텍스트 정렬 및 주황색 강제 적용 */
.publish-renderer .callout[data-callout="abstract"] .callout-content p,
.markdown-rendered .callout[data-callout="abstract"] .callout-content p {
    margin: 0 0 12px 0 !important;
    color: #ffb000 !important; 
    font-family: "Win95Font", monospace !important; 
    font-size: 13px !important; 
    line-height: 1.8 !important;
}
.publish-renderer .callout[data-callout="abstract"] .callout-content p:last-child,
.markdown-rendered .callout[data-callout="abstract"] .callout-content p:last-child {
    margin-bottom: 0 !important;
}

/* 4. 🚨 핵심 수정: 오직 '줄 맨 앞의 굵은 글씨'만 라벨로 인정 */
.publish-renderer .callout[data-callout="abstract"] .callout-content p > strong:first-child,
.markdown-rendered .callout[data-callout="abstract"] .callout-content p > strong:first-child {
    display: inline-block !important;
    width: 80px !important;
    color: #39dc00 !important;
    opacity: 0.6 !important;
    font-weight: normal !important;
}

/* 5. 주황색 내부 [[링크]] 디자인 */
.publish-renderer .callout[data-callout="abstract"] a.internal-link,
.markdown-rendered .callout[data-callout="abstract"] a.internal-link {
    color: #ffb000 !important;
    font-weight: bold !important;
    text-decoration: none !important;
    margin-right: 10px !important;
}

.publish-renderer .callout[data-callout="abstract"] a.internal-link:hover,
.markdown-rendered .callout[data-callout="abstract"] a.internal-link:hover {
    text-shadow: 0 0 8px #ffb000 !important;
}/* ========================================================
   [Obsidian Publish 뱃지 완전 제거]
   ======================================================== */
.site-footer,
.publish-attribution,
.site-footer-attribution,
a[href*="obsidian.md/publish"],
a[href*="obsidian.md"],
[class*="attribution"],
[class*="publish-footer"],
[class*="site-footer"],
footer,
.footer,
[data-testid*="publish"],
[data-testid*="attribution"],
[class*="obsidian"],
[id*="obsidian"],
[class*="powered-by"],
[id*="powered-by"],
.site-footer-item,
.publish-footer,
[aria-label*="obsidian"],
[aria-label*="Obsidian"],
[title*="obsidian"],
[title*="Obsidian"],
.back-to-catalog,
.back-to-home,
[class*="breadcrumb"],
[class*="nav-footer"],
.publish-card-link,
.publish-sidebar-item,
.nav-action-button,
[class*="publish-notice"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  min-height: 0 !important;
}

/* Additional hiding for potential Obsidian elements */
body > footer,
body > [class*="footer"],
body > [class*="attribution"],
html > footer,
html > [class*="footer"],
html > [class*="attribution"],
body > nav,
body > [class*="navbar"],
body > [class*="header"],
div[style*="Obsidian"],
span[style*="Obsidian"],
a[style*="obsidian"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Hide ANY element that might contain Obsidian-related text */
/* Using attribute selectors to catch all variants */
*[class*="publish"],
*[id*="publish"],
*[class*="Publish"],
*[id*="Publish"],
*[data-*="publish"],
*[aria-*="publish"],
/* Catch specific Obsidian UI elements */
.back-button,
.back-links,
.breadcrumb-navigation,
.document-navigation,
.nav-files,
.toc,
.collapse-icon,
.outline,
.help,
.search-container,
/* Hide potential badge/notification areas */
[role="contentinfo"],
[role="navigation"],
[role="doc-pagebreak"],
.published-footer,
.published-by,
.search-results-footer {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
}

/* FINAL: Hide ALL footer and attribution elements */
html > body > footer,
html > body > div[class*="footer"],
html > body > div[class*="attribution"],
html > body > div[class*="publish"],
body > :last-child,
[class*="site-footer"],
[class*="page-footer"],
[class*="bottom"],
.ant-layout-footer,
.layout-footer,
.page-footer-container {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}