/* ================================================
   PIXELDEV TISTORY SKIN — style.css v4
   리팩토링: CSS 변수로 폰트·색상·크기 통합 관리
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');
@import url('https://cdn.jsdelivr.net/gh/neodgm/neodgm-webfont@latest/neodgm/style.css');

/* ===== FONT & SIZE VARIABLES =====
   폰트나 크기를 변경할 때 여기만 수정하면 전체에 반영됩니다.
*/
:root {
  /* — 폰트 패밀리 — */
  --font-pixel:    'NeoDunggeunmo', monospace;
  --font-body:     'Noto Sans KR', sans-serif;
  --font-code:     'Courier New', monospace;

  /* — 폰트 사이즈 — */
  --fs-base:       16px;
  --fs-sm:         14px;
  --fs-xs:         12px;

  --fs-logo:       18px;
  --fs-nav:        13px;

  --fs-widget-icon:   13px;
  --fs-widget-title:  13px;

  --fs-post-title-single: 22px;
  --fs-post-title-card:   14px;
  --fs-post-h2:     18px;
  --fs-post-h3:     15px;
  --fs-post-h4:     13px;

  --fs-date:        12px;
  --fs-badge:       11px;
  --fs-tag:         12px;
  --fs-btn:         11px;
  --fs-code-block:  14px;
  --fs-code-inline: 14px;
  --fs-summary:     14px;
  --fs-category:    13px;
  --fs-category-sub:12px;
  --fs-recent:      13px;
  --fs-tagcloud:    12px;
  --fs-system:      13px;
  --fs-toc:         13px;
  --fs-comment:     11px;
  --fs-search:      16px;
  --fs-search-prompt: 12px;
  --fs-footer:      13px;
  --fs-footer-logo: 16px;
  --fs-nav-title:   13px;
  --fs-pixel-heading: 16px;
  --fs-empty:       14px;
  --fs-readmore:    11px;
  --fs-admin:       11px;
  --fs-copy:        10px;
  --fs-cat-arrow:   10px;
  --fs-cat-arrow-sub: 9px;
  --fs-list-arrow:  10px;
  --fs-blockquote-prefix: 10px;
  --fs-dot-code:    10px;
  --fs-status-dot:  12px;
  --fs-profile:     14px;

  /* — 라인 높이 — */
  --lh-base: 1.8;
  --lh-post: 1.95;

  /* — 색상 (라이트 모드) — */
  --bg:           #e8e6e0;
  --bg-sub:       #dedad2;
  --bg-widget:    #edeae3;
  --border:       #c0bdb5;
  --accent:       #0078d4;
  --text:         #2a2a2a;
  --text-muted:   #6e6e6e;
  --text-heading: #0060b0;
  --text-green:   #2e8b2e;
  --tag-bg:       #d8d4ca;
  --code-bg:      #111111;
  --code-green:   #00cc44;
  --header-bg:    #dedad2;
  --footer-bg:    #d0ccc4;

  /* — 레이아웃 — */
  --max-width:    1200px;
  --sidebar-w:    260px;
  --gap:          28px;
  --header-h:     56px;
}

/* ===== DARK MODE ===== */
body.dark-mode {
  --bg:           #1a1a1a;
  --bg-sub:       #222222;
  --bg-widget:    #2a2a2a;
  --border:       #3a3a3a;
  --accent:       #00aaff;
  --text:         #cccccc;
  --text-muted:   #777777;
  --text-heading: #00aaff;
  --text-green:   #00cc44;
  --tag-bg:       #333333;
  --code-bg:      #0d0d0d;
  --code-green:   #00cc44;
  --header-bg:    #141414;
  --footer-bg:    #111111;
}

/* ===== RESET ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  transition: background .3s, color .3s;
  overflow-x: hidden;
}
a { color: var(--accent); text-decoration: none; transition: color .2s; }
a:hover { color: var(--text-heading); }
ul { list-style: none; }
img { max-width: 100%; height: auto; }

/* ===== CURSOR BLINK ===== */
.cursor { display: inline-block; color: var(--accent); animation: blink 1s step-end infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }

/* ===== HEADER ===== */
#header {
  background: var(--header-bg);
  border-bottom: 2px solid var(--border);
  position: sticky; top: 0; z-index: 100;
  transition: background .3s;
}
.header-inner {
  max-width: var(--max-width); margin: 0 auto; padding: 0 24px;
  height: var(--header-h); display: flex; align-items: center; justify-content: space-between;
}
.header-logo a { display: flex; align-items: center; gap: 0; }
.logo-text {
  font-family: var(--font-pixel);
  font-size: var(--fs-logo); color: var(--accent); letter-spacing: 1px;
}
.header-logo .cursor { font-family: var(--font-pixel); font-size: var(--fs-logo); }
.header-nav { display: flex; align-items: center; gap: 22px; }
.header-nav > a {
  font-family: var(--font-pixel); font-size: var(--fs-nav);
  color: var(--text); letter-spacing: 1px; position: relative;
}
.header-nav > a::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:2px; background:var(--accent); transition:width .2s;
}
.header-nav > a:hover::after { width:100%; }
.header-nav > a:hover { color:var(--accent); }
.write-btn {
  font-family:var(--font-pixel) !important; font-size:var(--fs-nav) !important;
  color:#fff !important; background:var(--accent) !important;
  padding:4px 10px !important; letter-spacing:1px;
  box-shadow:2px 2px 0 rgba(0,0,0,.2);
  transition:box-shadow .1s, transform .1s !important;
}
.write-btn:hover {
  box-shadow:1px 1px 0 rgba(0,0,0,.2) !important;
  transform:translate(1px,1px) !important; color:#fff !important;
}
.write-btn::after { display:none !important; }

/* 다크모드 토글 */
.theme-toggle { background:none; border:none; cursor:pointer; padding:0; display:flex; align-items:center; }
.toggle-track {
  width:42px; height:22px; background:var(--bg-widget);
  border:2px solid var(--border); display:flex; align-items:center; padding:0 2px;
  box-shadow:2px 2px 0 var(--border); transition:background .3s;
}
.toggle-thumb {
  width:14px; height:14px; background:var(--accent); display:block;
  transition:transform .3s, background .3s;
}
body.dark-mode .toggle-thumb { transform:translateX(18px); background:#ffcc00; }

/* ===== LAYOUT ===== */
#container {
  max-width: var(--max-width); margin: var(--gap) auto; padding: 0 24px;
  display: grid; grid-template-columns: var(--sidebar-w) minmax(0, 1fr); gap: var(--gap); align-items: start;
}

/* ===== SIDEBAR ===== */
#sidebar-left {
  display:flex; flex-direction:column; gap:14px;
  position:sticky; top:calc(var(--header-h) + 12px);
}

/* ===== WIDGET BOX ===== */
.widget-box {
  background:var(--bg-widget); border:1px solid var(--border);
  border-left:3px solid var(--accent);
  box-shadow:3px 3px 0 var(--border); position:relative;
  transition:background .3s, border-color .3s;
  animation:fadeUp .3s ease-out both;
}
.widget-box::before {
  content:''; position:absolute; top:-3px; left:-3px;
  width:6px; height:6px; background:var(--accent);
}
.widget-box:nth-child(1){animation-delay:.04s}
.widget-box:nth-child(2){animation-delay:.08s}
.widget-box:nth-child(3){animation-delay:.12s}
.widget-box:nth-child(4){animation-delay:.16s}
.widget-box:nth-child(5){animation-delay:.20s}
@keyframes fadeUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

.widget-header {
  padding:10px 14px; border-bottom:1px solid var(--border);
  background:var(--bg-sub); display:flex; align-items:center; gap:8px;
}
.widget-icon { font-family:var(--font-pixel); font-size:var(--fs-widget-icon); color:var(--accent); line-height:1; }
.widget-title { font-family:var(--font-pixel); font-size:var(--fs-widget-title); color:var(--text-heading); letter-spacing:1px; line-height:1; }
.widget-content { padding:12px 14px; }

/* ===== PROFILE ===== */
.profile-content { text-align:center; font-size:var(--fs-profile); }
.profile-content img,
.profile-content .tt-profile-img,
.profile-content .tt_profile img {
  width:80px; height:80px; border:2px solid var(--border);
  box-shadow:3px 3px 0 var(--border); margin:0 auto 10px; image-rendering:pixelated;
  display:block !important; visibility:visible !important;
  border-radius:0; object-fit:cover;
}
.profile-content .tt-profile-nickname,
.profile-content .tt_profile .tt_txt {
  font-family:var(--font-pixel);
  font-size:var(--fs-profile);
  color:var(--accent);
  margin-top:6px;
}

/* ===== CATEGORY ===== */
.category-wrap { padding:8px 10px !important; }
.category-wrap ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.category-wrap li { margin:0 !important; padding:0 !important; list-style:none !important; }

/* 모든 카테고리 링크 기본 */
.category-wrap a {
  display:block !important;
  font-family:var(--font-body) !important;
  font-size:var(--fs-category) !important; font-weight:400 !important;
  color:var(--text) !important;
  padding:6px 4px !important;
  border-bottom:1px dashed var(--border) !important;
  text-decoration:none !important;
  transition:color .2s, padding-left .2s !important;
  line-height:1.5 !important;
  cursor:pointer !important;
}
.category-wrap a:hover { color:var(--accent) !important; padding-left:10px !important; }

/* 1단계: All Posts (분류 전체보기) */
.category-wrap > ul > li > a::before {
  content:'> ' !important;
  font-family:var(--font-pixel) !important;
  font-size:var(--fs-cat-arrow) !important; color:var(--accent) !important;
}

/* 2단계: Study 등 상위 카테고리 — All Posts와 같은 위치 */
.category-wrap .category_list > li > a {
  padding-left:12px !important;
  font-size:var(--fs-category) !important;
  color:var(--text) !important;
  border-bottom-style:dashed !important;
}
.category-wrap .category_list > li > a::before {
  content:'> ' !important;
  font-family:var(--font-pixel) !important;
  font-size:var(--fs-cat-arrow) !important; color:var(--accent) !important;
}

/* 3단계: 하위 카테고리 — 더 들여쓰기 */
.category-wrap .sub_category_list a {
  padding-left:28px !important; font-size:var(--fs-category-sub) !important;
  color:var(--text-muted) !important;
  border-bottom-style:dotted !important;
}
.category-wrap .sub_category_list a::before {
  content:'> ' !important;
  font-family:var(--font-pixel) !important;
  font-size:var(--fs-cat-arrow-sub) !important; color:var(--text-muted) !important;
}

/* 접었을 때 빈공간 제거 */
.category-wrap .sub_category_list {
  margin:0 !important; padding:0 !important;
}

.category-wrap li:last-child > a { border-bottom:none !important; }

/* ===== RECENT POSTS ===== */
.recent-wrap { padding:8px 10px !important; }
.recent-wrap a {
  display:block !important;
  font-family:var(--font-body) !important;
  font-size:var(--fs-recent) !important; color:var(--text) !important;
  padding:5px 4px !important; border-bottom:1px dashed var(--border) !important;
  text-decoration:none !important; transition:color .2s !important;
  line-height:1.5 !important;
}
.recent-wrap a::before {
  content:'> ' !important; font-family:var(--font-pixel) !important;
  font-size:var(--fs-list-arrow) !important; color:var(--accent) !important;
}
.recent-wrap a:hover { color:var(--accent) !important; }
.recent-wrap li:last-child a { border-bottom:none !important; }

/* ===== TAG CLOUD ===== */
.tag-cloud { display:flex; flex-wrap:wrap; gap:6px; }
.tag-cloud a {
  display:inline-block !important; background:var(--tag-bg) !important;
  border:1px solid var(--border) !important; color:var(--text) !important;
  font-size:var(--fs-tagcloud) !important; font-family:var(--font-body) !important;
  padding:4px 8px !important; box-shadow:2px 2px 0 var(--border) !important;
  transition:background .2s, color .2s !important; text-decoration:none !important;
}
.tag-cloud a:hover { background:var(--accent) !important; color:#fff !important; border-color:var(--accent) !important; }

/* ===== SYSTEM INFO ===== */
.system-info { font-size:var(--fs-system); }
.sys-line { padding:4px 0; color:var(--text-muted); font-family:var(--font-body); }
.sys-val { color:var(--text); font-weight:700; }
.sys-val.blog-name { font-family:var(--font-pixel); font-size:var(--fs-system); color:var(--accent); }
.sys-val.online { color:var(--text-green); }
.status-dot { color:var(--text-green); font-size:var(--fs-status-dot); margin-right:4px; animation:blink 1.5s step-end infinite; }

/* ===== POST CARD ===== */
.post-card {
  background:var(--bg-widget); border:1px solid var(--border);
  border-left:3px solid var(--accent); padding:22px 24px;
  box-shadow:3px 3px 0 var(--border); position:relative;
  transition:box-shadow .15s, transform .15s, background .3s;
  animation:fadeUp .3s ease-out both; margin-bottom:16px;
}
.post-card::before {
  content:''; position:absolute; top:-3px; left:-3px;
  width:6px; height:6px; background:var(--accent);
}
.post-card:hover { box-shadow:5px 5px 0 var(--accent); transform:translate(-1px,-1px); }

.post-card-meta { display:flex; gap:12px; margin-bottom:8px; align-items:center; flex-wrap:wrap; }
.post-date { font-family:var(--font-pixel); font-size:var(--fs-date); color:var(--text-muted); }
.post-cat-badge {
  font-family:var(--font-pixel); font-size:var(--fs-badge); color:#fff;
  background:var(--accent); padding:3px 8px;
  box-shadow:2px 2px 0 rgba(0,0,0,.2); text-decoration:none !important;
}
.post-cat-badge:hover { color:#fff !important; opacity:.85; }

.post-card-title { margin-bottom:10px; }
.post-card-title a {
  font-family:var(--font-pixel) !important;
  font-size:var(--fs-post-title-card) !important; color:var(--text-heading) !important;
  line-height:1.7; display:block; text-decoration:none !important; transition:color .2s !important;
}
.post-card-title a:hover { color:var(--accent) !important; }

.post-card-summary {
  font-size:var(--fs-summary); color:var(--text-muted); line-height:1.7; margin-bottom:14px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.post-card-footer { display:flex; align-items:center; justify-content:space-between; }

.read-more-btn {
  font-family:var(--font-pixel) !important; font-size:var(--fs-readmore) !important;
  color:#fff !important; background:var(--accent) !important;
  padding:7px 14px !important; border:none !important;
  box-shadow:3px 3px 0 rgba(0,0,0,.25) !important;
  transition:box-shadow .1s, transform .1s !important; display:inline-block !important;
  text-decoration:none !important;
}
.read-more-btn:hover {
  box-shadow:1px 1px 0 rgba(0,0,0,.25) !important;
  transform:translate(2px,2px) !important; color:#fff !important;
}
.post-comments { font-family:var(--font-pixel); font-size:var(--fs-comment); color:var(--text-muted); }

/* ===== LIST WRAP ===== */
.list-wrap { display:flex; flex-direction:column; }
.page-heading { margin-bottom:16px; }
.pixel-heading { font-family:var(--font-pixel); font-size:var(--fs-pixel-heading); color:var(--text-heading); margin-bottom:6px; }
.post-count { font-size:var(--fs-sm); color:var(--text-muted); }
.empty-msg {
  font-family:var(--font-pixel); font-size:var(--fs-empty); color:var(--text-muted);
  padding:32px; text-align:center; border:1px dashed var(--border);
}

/* ===== SINGLE POST ===== */
.single-post { animation:fadeUp .3s ease-out; min-width:0; }

.post-header { border-bottom:2px solid var(--border); margin-bottom:32px; padding-bottom:20px; }
.post-header-meta { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
.post-title {
  font-family:var(--font-pixel); font-size:var(--fs-post-title-single);
  color:var(--text-heading); line-height:1.6; margin-bottom:8px; word-break:keep-all;
}

/* TOC */
.toc-box {
  background:var(--bg-widget); border:1px solid var(--border);
  border-left:3px solid var(--text-green); margin-bottom:32px;
  box-shadow:3px 3px 0 var(--border);
}
.toc-icon { color:var(--text-green) !important; }
.toc-title { color:var(--text-green) !important; }
#toc-list { padding:10px 14px; display:flex; flex-direction:column; gap:2px; }
.toc-item a {
  display:block; font-size:var(--fs-toc); color:var(--text);
  font-family:var(--font-body); padding:4px 0;
  border-bottom:1px dashed var(--border); transition:color .2s, padding-left .2s;
  text-decoration:none;
}
.toc-item a:hover { color:var(--text-green); padding-left:6px; }
.toc-h2 > a { font-weight:700; }
.toc-h3 > a { padding-left:14px; }
.toc-h4 > a { padding-left:26px; }

/* ===== POST CONTENT ===== */
.post-content {
  font-family:var(--font-body); font-size:var(--fs-base);
  line-height:var(--lh-post); color:var(--text);
  word-break:keep-all; overflow-wrap:break-word;
  min-width:0; overflow:hidden;
}
.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5 {
  font-family:var(--font-pixel) !important;
  color:var(--text-heading); line-height:1.6; margin:36px 0 14px;
}
.post-content h2 { font-size:var(--fs-post-h2); border-bottom:2px solid var(--border); padding-bottom:8px; }
.post-content h3 { font-size:var(--fs-post-h3); }
.post-content h4 { font-size:var(--fs-post-h4); }

/* ===== 픽셀 도트 패턴 구분선 (hr) ===== */
.post-content hr, hr {
  border: none;
  height: 8px;
  margin: 32px 0;
  background-image:
    radial-gradient(circle, var(--accent) 1.2px, transparent 1.2px);
  background-size: 8px 8px;
  background-position: 0 center;
  background-repeat: repeat-x;
  opacity: .6;
}

.post-content p { margin-bottom:18px; }
.post-content strong { color:var(--text-heading); font-weight:700; }
.post-content em { color:var(--accent); font-style:italic; }
.post-content a { color:var(--accent); border-bottom:1px dotted var(--accent); }
.post-content a:hover { border-bottom-color:transparent; }
.post-content ul,.post-content ol { margin:12px 0 18px 20px; }
.post-content ul { list-style:none !important; }
.post-content ul li::marker { content:none !important; font-size:0 !important; }
.post-content ul li::before {
  content:'> '; font-family:var(--font-pixel); font-size:var(--fs-list-arrow); color:var(--accent);
}
.post-content ol { list-style:decimal; }
.post-content li { margin-bottom:6px; }
/* another_category 리스트 리셋 */
.post-content .another_category ul { margin:0; }
.post-content .another_category ul li::before { content:none; }
.post-content .another_category a { border-bottom:none; }
.post-content blockquote {
  border-left:4px solid var(--accent); background:var(--bg-sub);
  padding:14px 18px; margin:20px 0; color:var(--text-muted); font-style:italic;
  box-shadow:3px 3px 0 var(--border);
}
.post-content blockquote::before {
  content:'// '; font-family:var(--font-pixel); font-size:var(--fs-blockquote-prefix); color:var(--accent); font-style:normal;
}

/* 인라인 코드 */
.post-content code:not(pre code) {
  font-family:var(--font-code); background:var(--code-bg);
  color:var(--code-green); padding:2px 6px; font-size:var(--fs-code-inline); border:1px solid #333;
}

/* 코드블럭 */
.post-content pre {
  background:var(--code-bg) !important; border:1px solid #333;
  border-left:3px solid var(--code-green); padding:44px 20px 18px !important;
  overflow-x:auto; margin:20px 0; box-shadow:4px 4px 0 rgba(0,0,0,.35); position:relative;
}
.post-content pre::before {
  content:'● ● ●'; display:block; position:absolute; top:12px; left:16px;
  font-size:var(--fs-dot-code); color:#444; letter-spacing:6px; pointer-events:none;
}
/* 코드블럭 언어 라벨 */
.code-lang-label {
  position:absolute; top:10px;
  left:50%; transform:translateX(-50%);
  font-family:var(--font-pixel); font-size:var(--fs-copy);
  color:var(--code-green); background:rgba(0,204,68,.12);
  border:1px solid rgba(0,204,68,.25); padding:2px 10px;
  letter-spacing:1px; text-transform:uppercase;
  pointer-events:none; line-height:1.4;
}
.post-content pre code {
  background:transparent !important; color:var(--code-green) !important;
  font-family:var(--font-code) !important; font-size:var(--fs-code-block) !important;
  line-height:1.7; padding:0 !important; border:none !important;
}
.copy-btn {
  position:absolute; top:10px; right:12px;
  background:transparent; border:1px solid #444;
  color:#666; font-family:var(--font-pixel); font-size:var(--fs-copy);
  padding:4px 10px; cursor:pointer; transition:color .2s, border-color .2s;
}
.copy-btn:hover { color:var(--code-green); border-color:var(--code-green); }

/* 테이블 */
.post-content table { width:100%; border-collapse:collapse; margin:20px 0; font-size:var(--fs-sm); }
.table-responsive { overflow-x:auto; margin:20px 0; }
.table-responsive table { margin:0; }
.post-content th {
  background:var(--bg-sub); border:1px solid var(--border); padding:10px 14px;
  font-family:var(--font-pixel); font-size:var(--fs-badge); color:var(--text-heading); text-align:left;
}
.post-content td { border:1px solid var(--border); padding:9px 14px; }
.post-content tr:nth-child(even) td { background:var(--bg-sub); }
/* another_category 테이블 스타일 리셋 (post-content 내부일 때) */
.post-content .another_category table { margin:0; border-collapse:separate; border-spacing:0; border:none !important; }
.post-content .another_category tr { border:none !important; }
.post-content .another_category tr:not(:hover) { outline:none !important; }
.post-content .another_category td,
.post-content .another_category th { border:none !important; background:transparent !important; padding:0; }
.post-content .another_category tr:nth-child(even) td { background:transparent !important; }
.post-content .another_category img { border:none; box-shadow:none; margin:0; }
.post-content .another_category a { border-bottom:none !important; }
.post-content img {
  max-width:100%; height:auto; display:block; margin:20px auto;
  border:2px solid var(--border); box-shadow:4px 4px 0 var(--border);
}

/* highlight.js */
.hljs { background:var(--code-bg) !important; color:var(--code-green) !important; }
.hljs-keyword  { color:#00aaff !important; }
.hljs-string   { color:#ffcc00 !important; }
.hljs-comment  { color:#556655 !important; font-style:italic; }
.hljs-number   { color:#ff6644 !important; }
.hljs-built_in { color:#00cccc !important; }
.hljs-title    { color:#ff88ff !important; }

/* ===== 태그 ===== */
.post-tags {
  margin-top:28px; margin-bottom:8px; padding-top:0; border-top:none;
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}
.tag-label { font-family:var(--font-pixel); font-size:var(--fs-badge); color:var(--text-muted); }
.post-tags a {
  background:var(--tag-bg); border:1px solid var(--border); color:var(--text);
  font-size:var(--fs-tag); padding:4px 10px; font-family:var(--font-body);
  box-shadow:2px 2px 0 var(--border); transition:background .2s, color .2s; display:inline-block;
}
.post-tags a:hover { background:var(--accent); color:#fff; border-color:var(--accent); }

/* ===== 관리 버튼 ===== */
.admin-bar {
  display:flex; gap:8px; margin:0;
  justify-content:flex-end;
  margin-top:-40px;
  position:relative; z-index:10;
}
.admin-btn {
  font-family:var(--font-pixel); font-size:var(--fs-admin);
  background:var(--bg-widget); border:1px solid var(--border);
  color:var(--text); padding:6px 12px; box-shadow:2px 2px 0 var(--border);
}
.admin-btn:hover { background:var(--accent); color:#fff; border-color:var(--accent); }

/* ===== 이전/다음 글 (숨김) ===== */
.post-nav {
  display:none !important;
}

/* ===== 댓글 ===== */
.comments-section { margin-top:40px; overflow:visible !important; }
.comment-header { margin-bottom:0; }

/* Namecard (블로그 명함) 숨김 */
[data-tistory-react-app="Namecard"] { display:none !important; }

/* ===== 티스토리 링크 미리보기 카드 (OG 카드) 다크모드 대응 ===== */
body.dark-mode .post-content figure[data-og-host] a,
body.dark-mode .post-content figure[data-og-host] .og-text,
body.dark-mode .post-content a[data-source-url] .og-text,
body.dark-mode .post-content .tt_article_useless_p_margin figure a {
  color:var(--text) !important;
}
body.dark-mode .post-content figure[data-og-host],
body.dark-mode .post-content div[data-og-host],
body.dark-mode .post-content a[data-source-url],
body.dark-mode .post-content .og-image + div,
body.dark-mode .post-content figure.og-image {
  background:var(--bg-widget) !important;
  border-color:var(--border) !important;
}
/* 링크카드 제목 */
body.dark-mode .post-content .og-title,
body.dark-mode .post-content figure strong,
body.dark-mode .post-content [data-og-host] strong {
  color:var(--text) !important;
}
/* 링크카드 설명 */
body.dark-mode .post-content .og-desc,
body.dark-mode .post-content .og-description,
body.dark-mode .post-content figure[data-og-host] p,
body.dark-mode .post-content [data-og-host] p {
  color:var(--text-muted) !important;
}
/* 링크카드 출처(호스트) */
body.dark-mode .post-content .og-host,
body.dark-mode .post-content figure[data-og-host] cite,
body.dark-mode .post-content [data-og-host] cite {
  color:var(--text-muted) !important;
}

/* 수동 댓글 — 말풍선 + 대화 묶음 */
.comment-area { margin-top:16px !important; }
.comment-list { display:flex !important; flex-direction:column !important; gap:12px !important; list-style:none !important; padding:0 12px !important; }

/* 기본 댓글 말풍선 — 꽉 찬 너비 */
.comment-item {
  background:var(--bg-widget) !important; border:1px solid var(--border) !important;
  border-radius:14px !important;
  padding:12px 16px !important; width:auto !important; max-width:100% !important;
  margin-left:12px !important; margin-right:12px !important;
  list-style:none !important;
}

/* 답글 말풍선 — 살짝 들여쓰기 */
.comment-item.reply {
  margin-left:16px !important;
  width:calc(100% - 16px) !important; max-width:calc(100% - 16px) !important;
  border-radius:14px !important;
}

/* 내 댓글 (관리자) — 원댓글이든 답글이든 accent 스타일 */
.comment-item.rp_admin {
  background:var(--bg-sub) !important;
  border:1px solid var(--accent) !important;
}

/* 대화 묶음 — JS가 .comment-has-replies 클래스를 추가 */
.comment-has-replies {
  background:rgba(0,120,212,.05) !important; border:1px dashed var(--accent) !important;
  border-radius:14px !important; padding:12px !important;
  display:flex !important; flex-direction:column !important; gap:8px !important;
}
body.dark-mode .comment-has-replies {
  background:rgba(0,170,255,.05) !important;
}
/* 묶음 안의 원본 댓글 */
.comment-has-replies > .comment-item:not(.reply) {
  width:auto !important; max-width:100% !important;
  margin-left:0 !important; margin-right:0 !important;
}
/* 묶음 안의 답글 — 원본과 같은 레벨, 살짝 들여쓰기 */
.comment-has-replies > .comment-item.reply {
  width:auto !important; max-width:100% !important;
  margin-left:16px !important; margin-right:0 !important;
}

/* 댓글 메타 */
.comment-meta {
  display:flex !important; align-items:center !important; gap:8px !important; flex-wrap:wrap !important;
  margin-bottom:6px !important; font-size:var(--fs-xs) !important;
}
.comment-name { font-family:var(--font-pixel) !important; font-size:var(--fs-badge) !important; color:var(--accent) !important; }
.comment-date { color:var(--text-muted) !important; font-size:var(--fs-xs) !important; }
.comment-controls { margin-left:auto !important; display:flex !important; gap:6px !important; }
.comment-controls a {
  font-family:var(--font-pixel) !important; font-size:var(--fs-copy) !important;
  color:var(--text-muted) !important; text-decoration:none !important;
  border:1px solid var(--border) !important; padding:2px 6px !important;
}
.comment-controls a:hover { color:var(--accent) !important; border-color:var(--accent) !important; }
.comment-body { font-size:var(--fs-sm) !important; color:var(--text) !important; line-height:1.7 !important; }
.comment-replies { margin-top:0 !important; display:flex !important; flex-direction:column !important; gap:8px !important; list-style:none !important; padding:0 !important; }

.comment-write { margin-top:20px; }
.comment-guest-fields { display:flex; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.comment-input {
  flex:1; min-width:120px; padding:8px 10px;
  background:var(--bg-widget); border:1px solid var(--border);
  color:var(--text); font-family:var(--font-body); font-size:var(--fs-sm);
  box-shadow:2px 2px 0 var(--border);
}
.comment-input:focus { border-color:var(--accent); outline:none; }
.comment-textarea {
  width:100%; padding:12px 14px; min-height:80px; resize:none;
  background:var(--bg-widget); border:1px solid var(--border);
  color:var(--text); font-family:var(--font-body); font-size:var(--fs-sm);
  box-shadow:2px 2px 0 var(--border); line-height:1.7;
  overflow:hidden;
}
.comment-textarea:focus { border-color:var(--accent); outline:none; }
.comment-write-footer {
  display:flex; align-items:center; justify-content:flex-end;
  gap:12px; margin-top:10px;
}
.comment-secret {
  font-family:var(--font-pixel); font-size:var(--fs-badge);
  color:var(--text-muted); display:flex; align-items:center; gap:4px;
}
.comment-submit-btn {
  font-family:var(--font-pixel); font-size:var(--fs-btn);
  color:#fff; background:var(--accent); border:none;
  padding:8px 16px; box-shadow:3px 3px 0 rgba(0,0,0,.25);
  cursor:pointer; transition:box-shadow .1s, transform .1s;
}
.comment-submit-btn:hover { box-shadow:1px 1px 0 rgba(0,0,0,.25); transform:translate(2px,2px); }

body.dark-mode .comment-input, body.dark-mode .comment-textarea {
  background:var(--bg-sub); color:var(--text); border-color:var(--border);
}

/* ===== 방명록 스타일 ===== */
.guestbook-wrap { min-height:200px; }
.guestbook-wrap .tt-box-total { display:none !important; }
.guestbook-wrap .tt-comment-cont { background:transparent !important; }
.guestbook-wrap .tt-area-reply { margin-top:12px !important; }

/* 구분선 제거 */
.guestbook-wrap .tt-list-reply {
  border:none !important; list-style:none !important;
  padding:0 !important; margin:0 !important;
  display:flex !important; flex-direction:column !important; gap:12px !important;
}
.guestbook-wrap .tt-item-reply {
  border:none !important; margin:0 !important; padding:0 12px !important;
  overflow:visible !important;
}
.guestbook-wrap hr { display:none !important; }

/* 말풍선 */
.guestbook-wrap .tt-wrap-cmt {
  background:var(--bg-widget) !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  box-shadow:none !important;
  padding:12px 16px !important;
  position:relative !important;
}
.guestbook-wrap .tt-wrap-cmt::before,
.guestbook-wrap .tt-wrap-cmt::after { display:none !important; }

/* 관리자(내 글) 말풍선 */
.guestbook-wrap .rp_admin > .tt-wrap-cmt {
  background:var(--bg-sub) !important;
  border:1px solid var(--accent) !important;
}

/* 프로필 이미지 숨김 */
.guestbook-wrap .tt-box-thumb { display:none !important; }

/* 이름 */
.guestbook-wrap .tt-link-user {
  font-family:var(--font-pixel) !important;
  color:var(--accent) !important;
  font-size:var(--fs-badge) !important;
}
/* 날짜 */
.guestbook-wrap .tt_date {
  color:var(--text-muted) !important;
  font-size:var(--fs-xs) !important;
}
/* 글 내용 */
.guestbook-wrap .tt-wrap-desc {
  color:var(--text) !important;
  font-family:var(--font-body) !important;
  font-size:var(--fs-sm) !important;
  line-height:1.7 !important;
}
/* 다크모드 글 내용 색 */
body.dark-mode .guestbook-wrap .tt-wrap-desc,
body.dark-mode .guestbook-wrap .tt-wrap-desc p,
body.dark-mode .guestbook-wrap .tt-txt-cmt {
  color:var(--text) !important;
}

/* 더보기 버튼 — 살짝 안쪽 + 위로 */
.guestbook-wrap .tt-button-modify {
  color:var(--text-muted) !important;
  margin-right:6px !important;
  margin-top:-6px !important;
  vertical-align:top !important;
}
/* 드롭다운 */
.guestbook-wrap .tt-list-modify {
  z-index:100 !important;
}

/* 답글 └ 표시 제거 */
.guestbook-wrap .tt-list-reply-comment > li::before,
.guestbook-wrap .tt-item-reply::before {
  display:none !important; content:none !important;
}

/* 대화 묶음 (JS가 gb-grouped 클래스 추가) */
.guestbook-wrap .gb-grouped {
  background:rgba(0,120,212,.05) !important;
  border:1px dashed var(--accent) !important;
  border-radius:14px !important;
  padding:12px 12px 12px 12px !important;
  overflow:visible !important;
}
body.dark-mode .guestbook-wrap .gb-grouped {
  background:rgba(0,170,255,.05) !important;
  border-color:#00aaff !important;
}
/* 답글 리스트 — padding-left로 들여쓰기 */
.guestbook-wrap .tt-list-reply-comment {
  list-style:none !important; padding:0 !important;
  margin:8px 0 0 0 !important;
  padding-left:16px !important;
  border:none !important;
  display:flex !important; flex-direction:column !important; gap:8px !important;
}
.guestbook-wrap .tt-list-reply-comment > li {
  border:none !important; margin:0 !important; padding:0 !important;
  overflow:visible !important;
}

/* 다크모드 말풍선 색 보정 */
body.dark-mode .guestbook-wrap .tt-wrap-cmt {
  background:var(--bg-widget) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
}
body.dark-mode .guestbook-wrap .rp_admin > .tt-wrap-cmt {
  background:var(--bg-sub) !important;
  border-color:var(--accent) !important;
}
/* 다크모드 이름/날짜 */
body.dark-mode .guestbook-wrap .tt-link-user {
  color:var(--accent) !important;
}
body.dark-mode .guestbook-wrap .tt_date {
  color:var(--text-muted) !important;
}

/* 방명록 + 댓글 @멘션 태그 — 배경 박스 제거 */
.tt-txt-mention,
.tt-comment-cont .tt-txt-mention,
.guestbook-wrap .tt-txt-mention,
.comment-body .tt-txt-mention {
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  box-shadow:none !important;
  color:var(--accent) !important;
  font-weight:500;
  padding:0 !important;
  margin:0 4px 0 0 !important;
}
.tt-txt-mention::before,
.tt-comment-cont .tt-txt-mention::before,
.guestbook-wrap .tt-txt-mention::before {
  background:transparent !important;
  background-color:transparent !important;
}
body.dark-mode .tt-txt-mention,
body.dark-mode .tt-comment-cont .tt-txt-mention,
body.dark-mode .guestbook-wrap .tt-txt-mention {
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  color:var(--accent) !important;
}
body.dark-mode .tt-txt-mention::before {
  background:transparent !important;
  background-color:transparent !important;
}

/* 방명록 입력 폼 */
.guestbook-wrap .tt-area-write {
  background:var(--bg-widget) !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  box-shadow:none !important;
  padding:14px 16px !important;
  margin-top:16px !important;
}
.guestbook-wrap .tt-box-textarea {
  border:1px solid var(--border) !important;
  background:var(--bg-sub) !important;
  border-radius:8px !important;
}
.guestbook-wrap .tt-cmt {
  font-family:var(--font-body) !important;
  color:var(--text) !important;
}
.guestbook-wrap .tt-btn_register,
.guestbook-wrap .tt-btn-register {
  background:var(--accent) !important; color:#fff !important;
  border:none !important; font-family:var(--font-pixel) !important;
  font-size:var(--fs-btn) !important; border-radius:6px !important;
}
.guestbook-wrap .tt-box-account input {
  background:var(--bg-sub) !important;
  border:1px solid var(--border) !important;
  color:var(--text) !important;
  font-family:var(--font-body) !important;
  border-radius:6px !important;
}

/* ===== 사이드바 모듈 (관리자에서 추가한 모듈) ===== */
.sidebar-module { font-size:var(--fs-sm); }
.sidebar-module a {
  display:block; color:var(--text) !important;
  padding:4px 0; border-bottom:1px dashed var(--border);
  text-decoration:none !important; transition:color .2s !important;
  font-family:var(--font-body) !important; font-size:var(--fs-recent) !important;
}
.sidebar-module a:hover { color:var(--accent) !important; }
.sidebar-module ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.sidebar-module li { margin:0 !important; padding:0 !important; }

/* ===== FOOTER ===== */
#footer { background:var(--footer-bg); border-top:2px solid var(--border); margin-top:60px; transition:background .3s; }
.footer-inner { max-width:var(--max-width); margin:0 auto; padding:28px 24px; text-align:center; }
.footer-logo { font-size:var(--fs-footer-logo); color:var(--accent); margin-bottom:8px; }
.footer-info { font-size:var(--fs-footer); color:var(--text-muted); font-family:var(--font-body); }
.footer-info a { color:var(--accent); }
.footer-copyright {
  font-size:var(--fs-xs); color:var(--text-muted); margin-top:12px;
  font-family:var(--font-body);
}
/* 픽셀 하트 SVG */
.footer-hearts { margin-bottom:8px; }
.pixel-hearts { shape-rendering:crispEdges; max-width:600px; margin:0 auto; display:block; }
.pixel-hearts .ph { fill:var(--text-muted); }
.pixel-hearts .ph-o { fill:none; stroke:var(--text-muted); stroke-width:0.8; }
.pixel-hearts .ph-s { fill:var(--text-muted); opacity:0.3; }

/* ===== 검색 FAB ===== */
.search-fab {
  position:fixed; bottom:28px; right:28px;
  width:52px; height:52px; background:var(--accent); color:#fff;
  border:none; font-size:24px; cursor:pointer;
  box-shadow:3px 3px 0 rgba(0,0,0,.3); z-index:200;
  display:flex; align-items:center; justify-content:center;
  transition:box-shadow .1s, transform .1s;
}
.search-fab:hover { box-shadow:1px 1px 0 rgba(0,0,0,.3); transform:translate(2px,2px); }

.search-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.78); z-index:300; align-items:center; justify-content:center;
}
.search-overlay.active { display:flex; }
.search-box-modal {
  background:#111; border:2px solid var(--code-green);
  box-shadow:6px 6px 0 rgba(0,200,80,.15);
  padding:20px 24px; display:flex; align-items:center; gap:10px;
  width:90%; max-width:520px;
}
.search-prompt { font-family:var(--font-pixel); font-size:var(--fs-search-prompt); color:var(--code-green); white-space:nowrap; }
.search-box-modal input[type="text"] {
  flex:1; background:transparent; border:none; color:var(--code-green);
  font-family:var(--font-code); font-size:var(--fs-search); outline:none; caret-color:var(--code-green);
}
.search-box-modal input::placeholder { color:#336633; }
.search-box-modal button {
  background:transparent; border:1px solid var(--code-green); color:var(--code-green);
  font-family:var(--font-pixel); font-size:var(--fs-copy); padding:7px 12px;
  cursor:pointer; transition:background .2s, color .2s;
}
.search-box-modal button:hover { background:var(--code-green); color:#000; }

/* ===== 방명록 ===== */
.guestbook-wrap { margin-bottom:20px; }

/* ===== RESPONSIVE ===== */

/* 태블릿 (1024px 이하) */
@media(max-width:1024px){
  :root {
    --sidebar-w: 220px;
    --gap: 20px;
  }
}

/* 태블릿 세로 / 작은 화면 (900px 이하) */
@media(max-width:900px){
  #container { grid-template-columns:1fr; }
  #content { min-width:0; }
  #sidebar-left {
    position:static; max-height:none;
    flex-direction:row; flex-wrap:wrap;
    gap:12px;
  }
  #sidebar-left .widget-box { flex:1 1 220px; min-width:200px; }
}

/* 모바일 (600px 이하) */
@media(max-width:600px){
  :root {
    --fs-base: 15px;
    --fs-logo: 15px;
    --fs-nav: 12px;
    --fs-post-title-single: 18px;
    --fs-post-title-card: 13px;
    --fs-post-h2: 16px;
    --fs-post-h3: 14px;
    --header-h: 50px;
    --gap: 14px;
  }
  .header-inner { padding:0 14px; }
  #container { padding:0 14px; margin:var(--gap) auto; grid-template-columns:1fr; }
  #content { min-width:0; }
  .post-content { overflow:hidden; overflow-wrap:break-word; word-break:break-all; }
  .post-content pre { padding:40px 12px 14px !important; margin:16px -14px; width:calc(100% + 28px); }
  .post-content img { box-shadow:2px 2px 0 var(--border); }
  .post-content blockquote { padding:10px 14px; margin:16px 0; }
  #sidebar-left .widget-box { flex:1 1 100%; }
  .post-card { padding:16px 14px; overflow:hidden; }
  .post-card-summary { word-break:break-all; }
  .search-fab { bottom:16px; right:16px; width:46px; height:46px; font-size:20px; }
}

/* 매우 작은 모바일 (380px 이하) */
@media(max-width:380px){
  :root {
    --fs-base: 14px;
    --fs-logo: 13px;
    --fs-post-title-single: 16px;
    --fs-post-title-card: 12px;
    --fs-post-h2: 15px;
  }
  .header-nav { gap:14px; }
  .post-card-footer { flex-direction:column; align-items:flex-start; gap:8px; }
}

/* 큰 화면 (1440px 이상) */
@media(min-width:1440px){
  :root {
    --max-width: 1320px;
    --sidebar-w: 280px;
  }
}

/* ===== 티스토리 자동삽입: 공감/공유/통계 버튼 ===== */
.container_postbtn {
  display:flex !important;
  justify-content:flex-end !important;
  padding:0 !important;
  margin:8px 0 0 !important;
  border:none !important;
  background:none !important;
}
.container_postbtn .postbtn_like {
  display:flex !important;
  align-items:center;
  gap:4px;
  float:none !important;
  border:none !important;
  background:none !important;
  padding:0 !important;
  margin:0 !important;
}
.container_postbtn .postbtn_like > * {
  border:none !important;
  background:none !important;
}
.container_postbtn .wrap_btn {
  display:inline-flex;
  align-items:center;
  border:none !important;
  background:none !important;
}
.container_postbtn .wrap_btn button,
.container_postbtn .wrap_btn a,
.container_postbtn .wrap_btn label {
  font-family:var(--font-pixel) !important;
  font-size:var(--fs-admin) !important;
  color:var(--text-muted) !important;
  background:var(--bg-widget) !important;
  border:1px solid var(--border) !important;
  border-radius:0 !important;
  padding:6px 12px !important;
  box-shadow:2px 2px 0 var(--border);
  transition:background .2s, color .2s;
  cursor:pointer;
  line-height:1.3;
}
.container_postbtn .wrap_btn button:hover,
.container_postbtn .wrap_btn a:hover,
.container_postbtn .wrap_btn label:hover {
  background:var(--accent) !important;
  color:#fff !important;
  border-color:var(--accent) !important;
}
/* 불필요한 구분선, 타원 테두리 제거 */
.container_postbtn .ico_bar,
.container_postbtn .postbtn_like::before,
.container_postbtn .postbtn_like::after {
  display:none !important;
}

/* ===== 티스토리 자동삽입: 카테고리의 다른 글 ===== */
.another_category {
  margin-top:36px;
  padding:0 !important;
  background:none !important;
  background-color:transparent !important;
  border:none !important;
  border-top:none !important;
  border-bottom:none !important;
  border-left:none !important;
  border-right:none !important;
  box-shadow:none !important;
  outline:none !important;
  font-family:var(--font-body);
}
/* another_category 내부 모든 테두리·구분선 강제 리셋 */
.another_category *:not(tr):not(li) {
  border:none !important;
  outline:none !important;
}
/* 제목 헤더 */
.another_category h4,
.another_category table caption {
  font-family:var(--font-pixel);
  font-size:var(--fs-badge);
  color:var(--text-muted);
  padding:0 0 10px 0 !important;
  margin:0 0 4px 0 !important;
  border:none !important;
  border-bottom:none !important;
  text-align:left;
  letter-spacing:0.5px;
  display:block;
  background:none !important;
  caption-side:top;
}
.another_category h4::before,
.another_category table caption::before {
  content:'> ';
  color:var(--accent);
  font-family:var(--font-pixel);
}
.another_category h4 a,
.another_category table caption a {
  color:var(--accent);
  text-decoration:none;
}
.another_category h4 a:hover,
.another_category table caption a:hover {
  color:var(--text-heading);
}
/* 글 목록을 포스트 카드 스타일로 */
.another_category table {
  width:100%;
  border-collapse:separate;
  border-spacing:0 12px;
}
.another_category table tr {
  background:transparent;
  border:none !important;
  outline:none !important;
  box-shadow:3px 3px 0 var(--border);
  transition:box-shadow .2s;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 12px;
  margin-bottom:12px;
  padding:14px 18px;
  position:relative;
  border-left:3px solid var(--accent) !important;
}
.another_category table tr::before {
  content:'';
  position:absolute;
  top:-1px; left:-3px;
  width:6px; height:6px;
  background:var(--accent);
}
.another_category table tr:hover {
  box-shadow:5px 5px 0 var(--accent);
}
.another_category table td {
  display:inline;
  padding:0;
  border:none;
  background:none !important;
  vertical-align:baseline;
}
.another_category table td a {
  font-family:var(--font-pixel);
  font-size:var(--fs-post-title-card);
  color:var(--text-heading);
  text-decoration:none;
  border-bottom:none;
  transition:color .2s;
}
.another_category table td a:hover {
  color:var(--accent);
}
/* 날짜 열 — 오른쪽 끝 고정 */
.another_category table td:last-child {
  font-family:var(--font-pixel);
  font-size:var(--fs-xs);
  color:var(--text-muted);
  margin-left:auto;
  white-space:nowrap;
}
/* 댓글 수 */
.another_category table td .cnt,
.another_category table td:nth-child(2) {
  font-family:var(--font-pixel);
  font-size:var(--fs-xs);
  color:var(--text-muted);
}

/* another_category 내 리스트 형태일 때 */
.another_category ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.another_category ul li {
  background:transparent;
  border:none !important;
  outline:none !important;
  border-left:3px solid var(--accent) !important;
  padding:14px 18px;
  box-shadow:3px 3px 0 var(--border);
  transition:box-shadow .2s;
  position:relative;
  font-size:var(--fs-sm);
}
.another_category ul li::before {
  content:'';
  position:absolute;
  top:-1px; left:-3px;
  width:6px; height:6px;
  background:var(--accent);
}
.another_category ul li:hover {
  box-shadow:5px 5px 0 var(--accent);
}
.another_category ul li a {
  font-family:var(--font-pixel);
  font-size:var(--fs-post-title-card);
  color:var(--text-heading);
  text-decoration:none;
  border-bottom:none;
  transition:color .2s;
}
.another_category ul li a:hover {
  color:var(--accent);
}

/* post-content 내부에 남아있는 경우를 위한 안전장치 */
.post-content > .container_postbtn,
.post-content > .another_category {
  margin-top:32px;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--border); }
::-webkit-scrollbar-thumb:hover { background:var(--accent); }

.category-wrap img { display: none !important; }

/* ===== s_index_article_rep 카드 전체 숨김 =====
   s_list(.list-wrap) 목록만 사용합니다.
   #content 내 .post-card 중 .list-wrap 안에 있지 않은 것을 숨깁니다.
   CSS만으로는 "부모가 .list-wrap이 아닌" 조건이 어려우므로,
   #content 내 모든 .post-card를 숨기고, .list-wrap 안의 것만 되살립니다.
*/
#content .post-card {
  display: none !important;
}
#content .list-wrap .post-card {
  display: block !important;
}

/* ===== 로고 bold + 크기 ===== */
.logo-text {
  font-weight: 700;
  font-size: var(--fs-logo);
}

/* ===== 프로필 이미지 ===== */
.profile-img {
  width:80px; height:80px; border:2px solid var(--border);
  box-shadow:3px 3px 0 var(--border); margin:0 auto 10px;
  image-rendering:pixelated; display:block;
  border-radius:0; object-fit:cover;
}
.profile-name {
  font-family:var(--font-pixel);
  font-size:var(--fs-profile);
  color:var(--accent);
  margin-top:4px;
}
.profile-status {
  font-family:var(--font-pixel);
  font-size:var(--fs-xs);
  color:var(--text-green);
  margin-top:6px;
}