/* =============================================
 * 갤럭시 프레임 스타일 (l3-member-mypage에서 추출)
 * l3-community-board.html에서 사용
 * ============================================= */

:root {
  --gold: #c9a227;

  /* 카테고리별 컬러 팔레트 (티타늄+블루/실버 포인트) */
  --cat-education: #2f80ed;      /* Silver Blue - 교육 */
  --cat-promotion: #ff6f61;      /* Neon Coral - 프로모션 */
  --cat-knowledge: #1abc9c;      /* Titanium Mint - 지식 */
  --cat-press: #6c5ce7;          /* Midnight Purple - 언론보도 */
  --cat-resources: #27ae60;      /* Forest Teal - 자료실 */

  /* 카테고리 글로우 효과용 */
  --cat-education-glow: rgba(47, 128, 237, 0.4);
  --cat-promotion-glow: rgba(255, 111, 97, 0.4);
  --cat-knowledge-glow: rgba(26, 188, 156, 0.4);
  --cat-press-glow: rgba(108, 92, 231, 0.4);
  --cat-resources-glow: rgba(39, 174, 96, 0.4);
}

/* 전체게시물 갤럭시 프레임 - 바깥 검은색 + 안쪽 금색 */
.galaxy-posts-frame {
  background: linear-gradient(160deg, #1a1a1a 0%, #0d0d0d 50%, #1a1a1a 100%);
  border-radius: 28px;
  padding: 4px;
  margin: 12px 0;
  border: 2px solid var(--gold);
  box-shadow:
    0 0 0 3px #111,
    0 0 0 5px #000,
    0 20px 40px rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  min-height: 500px;
  position: relative;
}
/* 좌측 버튼 2개 */
.galaxy-posts-frame::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 60px;
  width: 4px;
  height: 90px;
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold) 42%, transparent 42%, transparent 58%, var(--gold) 58%, var(--gold) 100%);
  border-radius: 2px 0 0 2px;
}
/* 우측 버튼 1개 */
.galaxy-posts-frame::after {
  content: '';
  position: absolute;
  right: -8px;
  top: 80px;
  width: 4px;
  height: 60px;
  background: var(--gold);
  border-radius: 0 2px 2px 0;
}

/* 상단바 통합 */
.galaxy-posts-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 8px;
  flex-shrink: 0;
  background: #0d0d0d;
  border-bottom: 1px solid var(--gold);
  min-height: 36px;
  height: 36px;
  position: relative;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.galaxy-posts-topbar::-webkit-scrollbar{display:none}

/* 좌측 그룹 */
.topbar-left-group {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.galaxy-posts-title {
  font-size: 13px;
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 5px; /* 좌측 경계선과의 여유 추가 */
}
/* 황금색 포인트 막대 (제목 앞) */
.galaxy-posts-title::before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 14px;
  background: linear-gradient(180deg, var(--gold) 0%, #D4AF37 50%, var(--gold) 100%);
  border-radius: 2px;
  box-shadow: 0 0 4px rgba(201, 162, 39, 0.6);
  flex-shrink: 0;
}
.galaxy-posts-title span { color: #e0e0e0; font-size: 12px; }

/* 노치 (절대 중앙) - MyPage와 동일 */
.galaxy-posts-notch {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 16px;
  background: #0d0d0d;
  border-radius: 0 0 16px 16px;
  border: 2px solid var(--gold);
  border-top: none;
  box-shadow: 0 4px 12px rgba(201, 162, 39, 0.5);
  top: 0;
}
.galaxy-posts-notch::before {
  content: '';
  width: 10px; height: 10px;
  background: radial-gradient(circle, #111 20%, #A67C00 60%, var(--gold) 100%);
  border-radius: 50%;
  border: 2px solid var(--gold);
  box-shadow: inset 0 0 4px rgba(0,0,0,0.8);
}
.galaxy-posts-notch::after {
  content: '';
  width: 50px; height: 4px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  border-radius: 2px;
}

/* 우측 그룹 */
.topbar-right-group {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  flex-shrink: 0;
}

/* 검색/정렬 버튼 */
.search-sort-btn {
  height: 28px;
  padding: 0 6px;
  margin: 0;
  background: #222;
  border: 1px solid #555;
  border-radius: 6px;
  color: #fff;
  font-size: 11px;
  cursor: pointer;
  min-width: auto;
  white-space: nowrap;
}
.search-sort-btn:hover { background: #333; border-color: var(--gold); }

/* 갤럭시 검색창 - 흰색 바탕, 검은색 글씨, 은색 테두리 (MyPage 동일) */
.galaxy-search-input {
  height: 28px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #000;
  font-size: 12px;
  min-width: 140px;
  max-width: 180px;
}
.galaxy-search-input::placeholder { color: #888; font-size: 11px; }

/* 갤럭시 검색 버튼 - 금색 테두리, 검은색 바탕, 흰색 글씨 (MyPage 동일) */
.galaxy-search-btn {
  height: 28px;
  padding: 0 12px;
  background: #000;
  border: 1px solid var(--gold);
  border-radius: 6px;
  color: #fff;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
  min-width: 44px;
}
.galaxy-search-btn:hover {
  background: #111;
  border-color: var(--gold);
  box-shadow: 0 0 8px rgba(201,162,39,0.5);
}

/* 인라인 페이저 */
.posts-pager-inline {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* 프레임 높이 동적 조절 */
.galaxy-posts-frame.size-4 {
  height: auto;
  min-height: 386px;
}
.galaxy-posts-frame.size-8 {
  height: auto;
  min-height: 714px;
}
.galaxy-posts-frame.size-16 {
  height: auto;
  min-height: 1370px;
}

/* 스크린 영역 */
.galaxy-posts-screen {
  flex: 1;
  background: #000;
  border-radius: 12px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  display: flex;
  flex-direction: column;
  padding: 1px;
  margin: 1px 0;
}
.galaxy-posts-screen::-webkit-scrollbar {
  display: none;
}

.posts-grid-area {
  flex: 1;
  background: #0a0a0a;
  display: grid;
  gap: 8px;
  padding: 6px 6px 1px;
  grid-auto-rows: minmax(280px, auto);
  align-content: start;
  overflow: visible;
  margin-bottom: 1px;
}
.posts-grid-area.grid-4x1 { grid-template-columns: repeat(4, 1fr); }
.posts-grid-area.grid-4x2 { grid-template-columns: repeat(4, 1fr); }
.posts-grid-area.grid-4x4 { grid-template-columns: repeat(4, 1fr); }

/* 하단 네비 */
.galaxy-posts-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1px;
  margin: 0;
  gap: 2px;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
}
.pager-bottom {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #e2e8f0;
  font-size: 11px;
}
.pager-bottom .pg-btn {
  background: #333;
  border: 1px solid #555;
  color: #e0e0e0;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  cursor: pointer;
}
.pager-bottom .pg-btn:hover:not(.disabled),
.pager-bottom .pg-btn.active,
.pager-bottom .pg-btn.pg-current {
  background: var(--gold);
  border-color: var(--gold);
  color: #000;
  font-weight: 700;
}
.pager-bottom .pg-btn.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pager-bottom .pg-btn.nav-btn {
  font-weight: 600;
}

/* 분할 버튼 (상자 스타일) - MyPage와 동일 */
.lens-btns {
  display: flex;
  gap: 4px;
}
.lens-btn {
  height: 28px;
  padding: 0 10px;
  border-radius: 6px;
  background: #333;
  border: 1px solid #555;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  transition: all 0.2s;
}
.lens-btn:hover {
  background: #444;
  border-color: var(--gold);
}
.lens-btn.active {
  background: var(--gold);
  color: #000;
  border-color: var(--gold);
}
.lens-btn.disabled {
  opacity: 0.4;
  pointer-events: none;
}
/* 더보기 버튼 (가로) */
.lens-btn.oval {
  padding: 0 16px;
  font-size: 13px;
  min-width: 60px;
  white-space: nowrap;
}
.lens-btn .split-icon {
  display: grid;
  gap: 2px;
  width: 14px;
  height: 14px;
}
.lens-btn .split-icon span {
  background: currentColor;
  border-radius: 1px;
}
/* 4분할: 정사각형 2x2 */
.lens-btn .split-icon.s2x2 { grid-template: repeat(2, 1fr) / repeat(2, 1fr); }
/* 8분할: 2행 4열 */
.lens-btn .split-icon.s2x4 { grid-template: repeat(2, 1fr) / repeat(4, 1fr); }
/* 16분할: 4x4 */
.lens-btn .split-icon.s4x4 { grid-template: repeat(4, 1fr) / repeat(4, 1fr); }

/* ========== gp-card 스타일 ========== */
.gp-card {
  background: #1e293b;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s;
  border: 2px solid rgba(255,255,255,0.4);
  position: relative;
  height: 320px;
  min-height: 320px;
  max-height: 320px;
  display: flex;
  flex-direction: column;
}
.gp-card:hover {
  transform: scale(1.02);
  border-color: rgba(255,255,255,0.7);
  box-shadow: 
    inset 0 0 0 1px rgba(255,255,255,0.2),
    0 4px 16px rgba(255,255,255,0.15);
}
.gp-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: #3b82f6;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.18s ease-out, opacity 0.18s ease-out;
  opacity: 0;
}
.gp-card:hover::after,
.gp-card:focus-visible::after {
  transform: scaleX(1);
  opacity: 1;
}
/* 썸네일 69% */
.gp-card .thumb {
  flex: 0 0 69%;
  min-height: 69%;
  background: #0f172a;
  position: relative;
  overflow: hidden;
}
.gp-card .thumb img, .gp-card .thumb video, .gp-card .thumb iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.gp-card .thumb.empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 10px;
}
/* 내용부 31% */
.gp-card .info {
  flex: 0 0 31%;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 3px 5px 5px;
  background: #0d1117;
}
/* 상단 레이어: 도크창 + 제목 */
.gp-card .info-top {
  flex: 0 0 50%;
  display: flex;
  align-items: flex-start;
  gap: 4px;
  min-height: 50%;
}
.gp-card .dock-thumb {
  flex: 0 0 10%;
  aspect-ratio: 1/1;
  border: 1px solid #475569;
  border-radius: 8px;
  background: #1e293b;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
.gp-card .dock-thumb:hover {
  border-color: var(--gold);
}
.gp-card .dock-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gp-card .title-stack {
  flex: 0 0 90%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  position: relative;
}
.gp-card .title-line {
  font-weight: 800;
  color: #e5e7eb;
  line-height: 1.25;
  font-size: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gp-card .title-line.line2 {
  opacity: 0.9;
}
/* 중간 레이어: 닉네임 + 파일명 */
.gp-card .info-row3 {
  flex: 0 0 25%;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 25%;
  position: relative;
}
.gp-card .nickname {
  color: #94a3b8;
  font-size: 10px;
}
.gp-card .file-pill {
  background: #111;
  color: #fff;
  font-size: 10px;
  border-radius: 999px;
  padding: 2px 8px;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 하단 레이어: 조회/시간/좋아요/댓글 */
.gp-card .info-row4 {
  flex: 0 0 25%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 25%;
}
.gp-card .info-row4 .action-buttons {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}
.gp-card .action-btn {
  background: #fff;
  color: #000;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 9px;
  cursor: pointer;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 2px;
}
.gp-card .action-btn:hover {
  background: #f0f0f0;
  border-color: #bbb;
}
.gp-card .action-btn .heart {
  color: #ef4444;
}

/* =============================================
 * 좋아요 토글 스타일 (LikeManager 모듈 연동)
 * 1인 1회, 재클릭 시 취소
 * ============================================= */
.gp-card .like-btn.liked {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
  border-color: #f87171;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.3);
}
.gp-card .like-btn.liked .heart {
  color: #dc2626;
  text-shadow: 0 0 4px rgba(239, 68, 68, 0.5);
  animation: heartPulse 0.3s ease-out;
}
.gp-card .like-btn:not(.liked) .heart {
  color: #9ca3af;
}
.gp-card .like-btn:not(.liked):hover .heart {
  color: #ef4444;
}
@keyframes heartPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.3); }
  100% { transform: scale(1); }
}

.gp-card .stat {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 10px;
  color: #cbd5e1;
}
.gp-card .stat span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

/* 카테고리 섹션 간격 */
.cat-section {
  margin-bottom: 16px;
}
.cat-section:last-child {
  margin-bottom: 0;
}

/* 모바일 반응형 */
@media(max-width:1100px){
  .posts-grid-area{grid-template-columns:repeat(3,1fr)}
}
/* ✅ 임무2: 모바일 2*n 그리드 정렬 */
@media(max-width:780px){
  .posts-grid-area{grid-template-columns:repeat(2,1fr);gap:4px;padding:4px}
  .galaxy-posts-frame{width:100%;margin:4px 0;padding:2px;border-radius:20px}
  .galaxy-posts-topbar{flex-wrap:wrap;gap:4px;min-height:32px;height:auto;padding:2px 6px}
  .topbar-left-group{flex-wrap:wrap;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .topbar-left-group::-webkit-scrollbar{display:none}
  .topbar-right-group{flex-wrap:wrap;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .topbar-right-group::-webkit-scrollbar{display:none}
  /* ✅ 임무3: 카드 여백 최소화 + 높이 증가 */
  .gp-card{height:auto;min-height:280px;max-height:340px;border-radius:12px;margin:0;border-width:1px}
  .gp-card .thumb{flex:0 0 65%;min-height:65%}
  .gp-card .info{flex:0 0 35%;padding:4px 6px 6px;gap:2px}
  .gp-card .info-top{flex:0 0 45%;gap:3px}
  .gp-card .dock-thumb{flex:0 0 12%;border-radius:6px}
  .gp-card .title-line{font-size:11px}
  .gp-card .info-row3,.gp-card .info-row4{min-height:20%}
  .gp-card .nickname{font-size:9px}
  .gp-card .stat{font-size:9px}
  .gp-card .action-btn{padding:2px 4px;font-size:8px}
  /* 검색창 모바일 반응형 축소 */
  .galaxy-search-input{min-width:100px;max-width:140px;font-size:11px;padding:0 8px}
  .galaxy-search-btn{padding:0 10px;font-size:11px;min-width:40px}
  .galaxy-posts-title{font-size:12px}
  .lens-btns{gap:2px}
  .lens-btn{height:24px;padding:0 6px;font-size:11px}
}
/* ✅ 임무2, 3: 초소형 모바일 2열 유지 + 여백 최소화 */
@media(max-width:520px){
  .posts-grid-area{grid-template-columns:repeat(2,1fr);gap:2px;padding:2px}
  .gp-card{min-height:260px;max-height:320px;border-radius:10px}
  .gp-card .thumb{flex:0 0 62%}
  .gp-card .info{flex:0 0 38%;padding:3px 5px 5px}
  .gp-card .title-line{font-size:10px}
  .gp-card .nickname,.gp-card .stat{font-size:8px}
  .gp-card .action-btn{padding:1px 3px;font-size:7px}
  /* 검색창 초소형 모바일 대응 */
  .galaxy-search-input{min-width:70px;max-width:100px;font-size:10px;height:22px}
  .galaxy-search-btn{padding:0 6px;font-size:9px;height:22px;min-width:32px}
  .galaxy-posts-title{font-size:11px}
  .topbar-left-group{gap:2px}
  .lens-btn{height:22px;padding:0 4px;font-size:10px}
  .galaxy-posts-notch{padding:2px 10px}
}

/* =============================================
 * ADV(확장보기) 4분할 갤럭시 레이아웃
 * MyPage에서 이식 - 커뮤니티 보드 읽기 전용 모드
 * ============================================= */
.adv-container {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: linear-gradient(160deg, #1a1a1a 0%, #0d0d0d 50%, #1a1a1a 100%);
  border-radius: 28px;
  padding: 4px;
  border: 2px solid var(--gold);
  box-shadow: 0 0 0 3px #111, 0 0 0 5px #000, 0 20px 40px rgba(0, 0, 0, 0.5);
  min-height: auto;
  height: auto;
  position: relative;
}
.adv-container::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 60px;
  width: 4px;
  height: 90px;
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold) 42%, transparent 42%, transparent 58%, var(--gold) 58%, var(--gold) 100%);
  border-radius: 2px 0 0 2px;
}
.adv-container::after {
  content: '';
  position: absolute;
  right: -8px;
  top: 80px;
  width: 4px;
  height: 60px;
  background: var(--gold);
  border-radius: 0 2px 2px 0;
}

/* 헤드레이어 */
.adv-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1px 8px;
  background: #0d0d0d;
  border-bottom: 1px solid var(--gold);
  border-radius: 24px 24px 0 0;
  min-height: 30px;
  position: relative;
  gap: 8px;
}
.adv-head-left {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
}
.adv-head-left::-webkit-scrollbar { display: none; }
.adv-head-right {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.adv-select {
  height: 26px;
  padding: 0 4px;
  margin: 0 1px;
  background: #222;
  border: 1px solid #444;
  border-radius: 4px;
  color: #fff;
  font-size: 11px;
  cursor: pointer;
  min-width: auto;
  max-width: 100px;
}
.adv-select:hover { border-color: var(--gold); }
.adv-search-input {
  height: 26px;
  padding: 0 8px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  color: #333;
  font-size: 11px;
  min-width: 192px;
  max-width: 240px;
}
.adv-search-input::placeholder { color: #999; }
.adv-search-btn {
  height: 26px;
  padding: 0 12px;
  background: #000;
  border: 1px solid var(--gold);
  border-radius: 4px;
  color: #fff;
  font-size: 11px;
  cursor: pointer;
  margin-left: 1px;
}
.adv-search-btn:hover {
  background: var(--gold);
  color: #000;
}

/* 분할 버튼 그룹 */
.adv-lens-btns {
  display: flex;
  gap: 4px;
}
.adv-lens-btn {
  height: 28px;
  padding: 0 10px;
  border-radius: 4px;
  background: #333;
  border: 1px solid #555;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  transition: all 0.2s;
}
.adv-lens-btn:hover {
  background: #444;
  border-color: var(--gold);
}
.adv-lens-btn.active {
  background: var(--gold);
  color: #000;
  border-color: var(--gold);
}
.adv-split-icon {
  display: grid;
  gap: 1px;
  width: 12px;
  height: 12px;
}
.adv-split-icon span {
  background: currentColor;
  border-radius: 1px;
}
.adv-split-icon.s2x2 { grid-template: repeat(2, 1fr) / repeat(2, 1fr); }
.adv-split-icon.s2x4 { grid-template: repeat(2, 1fr) / repeat(4, 1fr); }
.adv-split-icon.s4x4 { grid-template: repeat(4, 1fr) / repeat(4, 1fr); }
.adv-lens-btn.active .adv-split-icon span { background: #000; }

/* 노치 */
.adv-notch {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 16px;
  background: #0d0d0d;
  border-radius: 0 0 16px 16px;
  border: 2px solid var(--gold);
  border-top: none;
  box-shadow: 0 4px 12px rgba(201, 162, 39, 0.3);
  top: -2px;
  z-index: 10;
}
.adv-notch::before {
  content: '';
  width: 10px;
  height: 10px;
  background: radial-gradient(circle, #111 20%, #9a7b1a 60%, var(--gold) 100%);
  border-radius: 50%;
  border: 2px solid var(--gold);
  box-shadow: inset 0 0 4px rgba(0,0,0,0.8);
}
.adv-notch::after {
  content: '';
  width: 50px;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  border-radius: 2px;
}

.adv-title {
  font-weight: 600;
  font-size: 14px;
  color: #fff;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 10px;
  margin-right: 3px;
}
.adv-title .count {
  font-size: 13px;
  color: #e0e0e0;
}
.adv-close {
  border: 1px solid var(--gold);
  border-radius: 8px;
  padding: 5px 14px;
  background: #222;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.2s;
}
.adv-close:hover {
  background: var(--gold);
  color: #000;
}

/* 바디레이어 */
.adv-body {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  padding: 4px;
  gap: 4px;
  overflow: visible;
  background: #000;
  border-left: 2px solid #000;
  border-right: 2px solid #000;
}
.adv-body-top {
  display: flex;
  gap: 4px;
  flex: 0 0 auto;
  height: 411px;
  min-height: 411px;
  max-height: 411px;
}
.adv-body-bottom {
  display: flex;
  gap: 4px;
  flex: 0 0 auto;
  height: 222px;
  min-height: 222px;
  overflow: visible;
  transition: height 0.3s ease, min-height 0.3s ease;
}
.adv-body-bottom.rows-2 {
  height: 430px;
  min-height: 430px;
  max-height: none;
}
.adv-body-bottom.rows-4 {
  height: 860px;
  min-height: 860px;
  max-height: none;
}

/* 미리보기 모듈 */
.adv-preview-module {
  flex: 0 0 65%;
  background: #0d0d0d;
  border: 1px solid silver;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 361px;
}
.adv-preview-module .adv-media-frame {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
.adv-preview-module iframe,
.adv-preview-module video,
.adv-preview-module img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
}
.adv-preview-module .preview-large {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  position: relative;
}
.adv-preview-module .preview-large img,
.adv-preview-module .preview-large video,
.adv-preview-module .preview-large iframe {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
}

/* 댓글 모듈 */
.adv-comments-module {
  flex: 0 0 35%;
  background: #1a1a1a;
  border: 1px solid silver;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.adv-comments-header {
  padding: 1px 10px;
  background: #0d0d0d;
  border-bottom: 1px solid silver;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.adv-comments-header .comment-title {
  display: flex;
  align-items: center;
  gap: 4px;
}
.adv-comments-header .comment-title::before {
  content: '';
  width: 3px;
  height: 14px;
  background: var(--gold);
  border-radius: 2px;
}
.adv-comments-header .count {
  color: var(--gold);
  font-size: 13px;
}
.comment-tabs {
  display: flex;
  gap: 3px;
}
.comment-tab {
  padding: 3px 8px;
  border: 1px solid #444;
  border-radius: 4px;
  background: #333;
  color: #aaa;
  font-size: 10px;
  cursor: pointer;
  transition: all 0.2s;
}
.comment-tab:hover {
  border-color: var(--gold);
  color: #fff;
}
.comment-tab.active {
  background: var(--gold);
  color: #000;
  border-color: var(--gold);
}
.adv-comments-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.adv-comment-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #e0e0e0;
  padding: 4px 0;
  border-bottom: 1px solid #333;
}
.adv-comment-author {
  font-weight: 600;
  color: var(--gold);
  flex-shrink: 0;
}
.adv-comment-time {
  color: #888;
  font-size: 10px;
  flex-shrink: 0;
}
.adv-comment-text {
  flex: 1;
  word-break: break-word;
}
.adv-comments-input {
  display: flex;
  gap: 4px;
  padding: 8px;
  border-top: 1px solid silver;
  background: #0d0d0d;
}
.adv-comments-input input {
  flex: 1;
  height: 28px;
  padding: 0 10px;
  border: 1px solid #444;
  border-radius: 4px;
  background: #222;
  color: #fff;
  font-size: 12px;
}
.adv-comments-input input::placeholder { color: #888; }
.adv-comments-input button {
  padding: 0 12px;
  height: 28px;
  border: 1px solid var(--gold);
  border-radius: 4px;
  background: var(--gold);
  color: #000;
  font-weight: 600;
  font-size: 11px;
  cursor: pointer;
}
.adv-comments-input button:hover {
  background: #fff;
}

/* 그리드 모듈 */
.adv-grid-module {
  flex: 0 0 65%;
  background: #0d0d0d;
  border: 1px solid silver;
  border-radius: 8px;
  overflow: hidden;
  padding: 4px;
}
.adv-grid-content {
  display: grid;
  gap: 4px;
  height: 100%;
  grid-auto-rows: 210px;
}
.adv-grid-content.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.adv-grid-content.grid-8 {
  grid-template-columns: repeat(4, 1fr);
}
.adv-grid-content.grid-16 {
  grid-template-columns: repeat(4, 1fr);
}

/* ADV 그리드 카드 */
.adv-gp-card {
  background: #1e293b;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s;
  border: 2px solid transparent;
  display: flex;
  flex-direction: column;
}
.adv-gp-card:hover,
.adv-gp-card.active {
  border-color: var(--gold);
  box-shadow: 0 0 12px rgba(201, 162, 39, 0.4);
}
.adv-gp-card .gpc-thumb {
  flex: 0 0 60%;
  background: #0f172a;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.adv-gp-card .gpc-thumb img,
.adv-gp-card .gpc-thumb video,
.adv-gp-card .gpc-thumb iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.adv-gp-card .gpc-thumb.empty {
  color: #64748b;
  font-size: 24px;
}
.adv-gp-card .gpc-info {
  flex: 1;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: #0d1117;
}
.adv-gp-card .gpc-title {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.adv-gp-card .gpc-author {
  font-size: 10px;
  color: #94a3b8;
}
.adv-gp-card .gpc-stats {
  display: flex;
  gap: 8px;
  font-size: 10px;
  color: #64748b;
}
.adv-gp-card .gpc-stats .heart {
  color: #ef4444;
}

/* 추천 모듈 */
.adv-recommend-module {
  flex: 0 0 35%;
  background: #1a1a1a;
  border: 1px solid silver;
  border-radius: 8px;
  overflow: hidden;
  padding: 4px;
}
.adv-recommend-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: 100%;
  overflow-y: auto;
}
.adv-recommend-item {
  display: flex;
  gap: 8px;
  padding: 6px;
  background: #0d0d0d;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}
.adv-recommend-item:hover {
  background: #1a1a1a;
  box-shadow: 0 0 8px rgba(201, 162, 39, 0.3);
}
.adv-recommend-thumb {
  flex: 0 0 50px;
  height: 50px;
  background: #0f172a;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.adv-recommend-thumb img,
.adv-recommend-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.adv-recommend-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.adv-recommend-title {
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.adv-recommend-author {
  font-size: 10px;
  color: #94a3b8;
  display: flex;
  gap: 4px;
}
.adv-recommend-author .file-name {
  color: #64748b;
}
.adv-recommend-stats {
  display: flex;
  gap: 6px;
  font-size: 9px;
  color: #64748b;
}
.adv-recommend-stats .heart {
  color: #ef4444;
}

/* 바텀 레이어 */
.adv-bottom-layer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  background: #0d0d0d;
  border-top: 1px solid var(--gold);
  border-radius: 0 0 24px 24px;
}
.adv-pager-bottom {
  display: flex;
  align-items: center;
  gap: 4px;
}
.adv-pager-bottom .pg-btn {
  background: #333;
  border: 1px solid #555;
  color: #e0e0e0;
  padding: 3px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
  transition: all 0.15s;
}
.adv-pager-bottom .pg-btn:hover:not(.disabled),
.adv-pager-bottom .pg-btn.pg-current {
  background: var(--gold);
  border-color: var(--gold);
  color: #000;
  font-weight: 700;
}
.adv-pager-bottom .pg-btn.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.adv-bottom-center {
  flex: 1;
  display: flex;
  justify-content: center;
}
.adv-bottom-indicator {
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  border-radius: 2px;
}
.adv-datetime {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #94a3b8;
}

/* ADV 모바일 반응형 */
@media(max-width:900px){
  .adv-body-top{flex-direction:column;height:auto;min-height:auto;max-height:none}
  .adv-preview-module{flex:none;height:300px;min-height:300px}
  .adv-comments-module{flex:none;height:250px}
  .adv-body-bottom{flex-direction:column;height:auto;min-height:auto}
  .adv-grid-module{flex:none;height:400px}
  .adv-recommend-module{flex:none;height:200px}
  .adv-grid-content.grid-4,.adv-grid-content.grid-8,.adv-grid-content.grid-16{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .adv-head{flex-direction:column;gap:4px;padding:4px}
  .adv-head-left,.adv-head-right{width:100%;justify-content:center}
  .adv-grid-content.grid-4,.adv-grid-content.grid-8,.adv-grid-content.grid-16{grid-template-columns:1fr 1fr}
}

/* =============================================
 * 카테고리별 컬러 명찰 시스템
 * 티타늄+블루/실버 포인트 디자인
 * MyPage & CommunityBoard 공통 사용
 * ============================================= */

/* === 카테고리 명찰 기본 스타일 === */
.cat-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  white-space: nowrap;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
}

/* 티타늄 베이스 (메탈릭 효과) */
.cat-badge::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,0.15) 0%, transparent 100%);
  border-radius: 12px 12px 0 0;
  pointer-events: none;
}

/* === 카테고리별 색상 테마 === */

/* Education - Silver Blue */
.cat-badge.cat-education,
.cat-badge[data-cat="Education"],
.cat-badge[data-cat="education"] {
  background: linear-gradient(135deg, #1a3a5c 0%, #2f80ed 50%, #1a3a5c 100%);
  color: #e8f4ff;
  border-color: #5a9cf5;
  box-shadow: 0 2px 8px var(--cat-education-glow), inset 0 1px 0 rgba(255,255,255,0.2);
}
.cat-badge.cat-education:hover,
.cat-badge[data-cat="Education"]:hover,
.cat-badge[data-cat="education"]:hover {
  box-shadow: 0 4px 16px var(--cat-education-glow), inset 0 1px 0 rgba(255,255,255,0.3);
  transform: translateY(-1px);
}

/* Promotion - Neon Coral */
.cat-badge.cat-promotion,
.cat-badge[data-cat="Promotion"],
.cat-badge[data-cat="promotion"],
.cat-badge[data-cat="promo"] {
  background: linear-gradient(135deg, #5c1a1a 0%, #ff6f61 50%, #5c1a1a 100%);
  color: #fff5f4;
  border-color: #ff9f97;
  box-shadow: 0 2px 8px var(--cat-promotion-glow), inset 0 1px 0 rgba(255,255,255,0.2);
}
.cat-badge.cat-promotion:hover,
.cat-badge[data-cat="Promotion"]:hover,
.cat-badge[data-cat="promotion"]:hover,
.cat-badge[data-cat="promo"]:hover {
  box-shadow: 0 4px 16px var(--cat-promotion-glow), inset 0 1px 0 rgba(255,255,255,0.3);
  transform: translateY(-1px);
}

/* Knowledge - Titanium Mint */
.cat-badge.cat-knowledge,
.cat-badge[data-cat="Knowledge"],
.cat-badge[data-cat="knowledge"] {
  background: linear-gradient(135deg, #0d3d35 0%, #1abc9c 50%, #0d3d35 100%);
  color: #e8fff9;
  border-color: #4cd9b8;
  box-shadow: 0 2px 8px var(--cat-knowledge-glow), inset 0 1px 0 rgba(255,255,255,0.2);
}
.cat-badge.cat-knowledge:hover,
.cat-badge[data-cat="Knowledge"]:hover,
.cat-badge[data-cat="knowledge"]:hover {
  box-shadow: 0 4px 16px var(--cat-knowledge-glow), inset 0 1px 0 rgba(255,255,255,0.3);
  transform: translateY(-1px);
}

/* Press - Midnight Purple */
.cat-badge.cat-press,
.cat-badge[data-cat="Press"],
.cat-badge[data-cat="press"] {
  background: linear-gradient(135deg, #2a1f5c 0%, #6c5ce7 50%, #2a1f5c 100%);
  color: #f0edff;
  border-color: #9b8ff5;
  box-shadow: 0 2px 8px var(--cat-press-glow), inset 0 1px 0 rgba(255,255,255,0.2);
}
.cat-badge.cat-press:hover,
.cat-badge[data-cat="Press"]:hover,
.cat-badge[data-cat="press"]:hover {
  box-shadow: 0 4px 16px var(--cat-press-glow), inset 0 1px 0 rgba(255,255,255,0.3);
  transform: translateY(-1px);
}

/* Resources - Forest Teal */
.cat-badge.cat-resources,
.cat-badge[data-cat="Resources"],
.cat-badge[data-cat="resources"],
.cat-badge[data-cat="materials"] {
  background: linear-gradient(135deg, #0d3320 0%, #27ae60 50%, #0d3320 100%);
  color: #e8fff0;
  border-color: #5ddb8a;
  box-shadow: 0 2px 8px var(--cat-resources-glow), inset 0 1px 0 rgba(255,255,255,0.2);
}
.cat-badge.cat-resources:hover,
.cat-badge[data-cat="Resources"]:hover,
.cat-badge[data-cat="resources"]:hover,
.cat-badge[data-cat="materials"]:hover {
  box-shadow: 0 4px 16px var(--cat-resources-glow), inset 0 1px 0 rgba(255,255,255,0.3);
  transform: translateY(-1px);
}

/* All - Default Gold (기존 유지) */
.cat-badge.cat-all,
.cat-badge[data-cat="All"],
.cat-badge[data-cat="all"] {
  background: linear-gradient(135deg, #3d3010 0%, var(--gold) 50%, #3d3010 100%);
  color: #fff8e0;
  border-color: #e0c050;
  box-shadow: 0 2px 8px rgba(201, 162, 39, 0.4), inset 0 1px 0 rgba(255,255,255,0.2);
}

/* === 카테고리별 갤럭시 프레임 테두리 === */

/* Education 프레임 */
.galaxy-posts-frame.cat-frame-education,
.galaxy-posts-frame[data-cat="Education"],
.galaxy-posts-frame[data-cat="education"] {
  border-color: var(--cat-education);
  box-shadow: 0 0 0 3px #111, 0 0 0 5px #000, 0 0 20px var(--cat-education-glow);
}
.galaxy-posts-frame.cat-frame-education .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="Education"] .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="education"] .galaxy-posts-topbar {
  border-bottom-color: var(--cat-education);
}
.galaxy-posts-frame.cat-frame-education .galaxy-posts-title,
.galaxy-posts-frame[data-cat="Education"] .galaxy-posts-title,
.galaxy-posts-frame[data-cat="education"] .galaxy-posts-title {
  color: var(--cat-education);
}
.galaxy-posts-frame.cat-frame-education::before,
.galaxy-posts-frame.cat-frame-education::after,
.galaxy-posts-frame[data-cat="Education"]::before,
.galaxy-posts-frame[data-cat="Education"]::after,
.galaxy-posts-frame[data-cat="education"]::before,
.galaxy-posts-frame[data-cat="education"]::after {
  background: var(--cat-education);
}

/* Promotion 프레임 */
.galaxy-posts-frame.cat-frame-promotion,
.galaxy-posts-frame.cat-frame-promo,
.galaxy-posts-frame[data-cat="Promotion"],
.galaxy-posts-frame[data-cat="promo"] {
  border-color: var(--cat-promotion);
  box-shadow: 0 0 0 3px #111, 0 0 0 5px #000, 0 0 20px var(--cat-promotion-glow);
}
.galaxy-posts-frame.cat-frame-promotion .galaxy-posts-topbar,
.galaxy-posts-frame.cat-frame-promo .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="Promotion"] .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="promo"] .galaxy-posts-topbar {
  border-bottom-color: var(--cat-promotion);
}
.galaxy-posts-frame.cat-frame-promotion .galaxy-posts-title,
.galaxy-posts-frame.cat-frame-promo .galaxy-posts-title,
.galaxy-posts-frame[data-cat="Promotion"] .galaxy-posts-title,
.galaxy-posts-frame[data-cat="promo"] .galaxy-posts-title {
  color: var(--cat-promotion);
}
.galaxy-posts-frame.cat-frame-promotion::before,
.galaxy-posts-frame.cat-frame-promotion::after,
.galaxy-posts-frame.cat-frame-promo::before,
.galaxy-posts-frame.cat-frame-promo::after,
.galaxy-posts-frame[data-cat="Promotion"]::before,
.galaxy-posts-frame[data-cat="Promotion"]::after,
.galaxy-posts-frame[data-cat="promo"]::before,
.galaxy-posts-frame[data-cat="promo"]::after {
  background: var(--cat-promotion);
}

/* Knowledge 프레임 */
.galaxy-posts-frame.cat-frame-knowledge,
.galaxy-posts-frame[data-cat="Knowledge"],
.galaxy-posts-frame[data-cat="knowledge"] {
  border-color: var(--cat-knowledge);
  box-shadow: 0 0 0 3px #111, 0 0 0 5px #000, 0 0 20px var(--cat-knowledge-glow);
}
.galaxy-posts-frame.cat-frame-knowledge .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="Knowledge"] .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="knowledge"] .galaxy-posts-topbar {
  border-bottom-color: var(--cat-knowledge);
}
.galaxy-posts-frame.cat-frame-knowledge .galaxy-posts-title,
.galaxy-posts-frame[data-cat="Knowledge"] .galaxy-posts-title,
.galaxy-posts-frame[data-cat="knowledge"] .galaxy-posts-title {
  color: var(--cat-knowledge);
}
.galaxy-posts-frame.cat-frame-knowledge::before,
.galaxy-posts-frame.cat-frame-knowledge::after,
.galaxy-posts-frame[data-cat="Knowledge"]::before,
.galaxy-posts-frame[data-cat="Knowledge"]::after,
.galaxy-posts-frame[data-cat="knowledge"]::before,
.galaxy-posts-frame[data-cat="knowledge"]::after {
  background: var(--cat-knowledge);
}

/* Press 프레임 */
.galaxy-posts-frame.cat-frame-press,
.galaxy-posts-frame[data-cat="Press"],
.galaxy-posts-frame[data-cat="press"] {
  border-color: var(--cat-press);
  box-shadow: 0 0 0 3px #111, 0 0 0 5px #000, 0 0 20px var(--cat-press-glow);
}
.galaxy-posts-frame.cat-frame-press .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="Press"] .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="press"] .galaxy-posts-topbar {
  border-bottom-color: var(--cat-press);
}
.galaxy-posts-frame.cat-frame-press .galaxy-posts-title,
.galaxy-posts-frame[data-cat="Press"] .galaxy-posts-title,
.galaxy-posts-frame[data-cat="press"] .galaxy-posts-title {
  color: var(--cat-press);
}
.galaxy-posts-frame.cat-frame-press::before,
.galaxy-posts-frame.cat-frame-press::after,
.galaxy-posts-frame[data-cat="Press"]::before,
.galaxy-posts-frame[data-cat="Press"]::after,
.galaxy-posts-frame[data-cat="press"]::before,
.galaxy-posts-frame[data-cat="press"]::after {
  background: var(--cat-press);
}

/* Resources 프레임 */
.galaxy-posts-frame.cat-frame-resources,
.galaxy-posts-frame.cat-frame-materials,
.galaxy-posts-frame[data-cat="Resources"],
.galaxy-posts-frame[data-cat="materials"] {
  border-color: var(--cat-resources);
  box-shadow: 0 0 0 3px #111, 0 0 0 5px #000, 0 0 20px var(--cat-resources-glow);
}
.galaxy-posts-frame.cat-frame-resources .galaxy-posts-topbar,
.galaxy-posts-frame.cat-frame-materials .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="Resources"] .galaxy-posts-topbar,
.galaxy-posts-frame[data-cat="materials"] .galaxy-posts-topbar {
  border-bottom-color: var(--cat-resources);
}
.galaxy-posts-frame.cat-frame-resources .galaxy-posts-title,
.galaxy-posts-frame.cat-frame-materials .galaxy-posts-title,
.galaxy-posts-frame[data-cat="Resources"] .galaxy-posts-title,
.galaxy-posts-frame[data-cat="materials"] .galaxy-posts-title {
  color: var(--cat-resources);
}
.galaxy-posts-frame.cat-frame-resources::before,
.galaxy-posts-frame.cat-frame-resources::after,
.galaxy-posts-frame.cat-frame-materials::before,
.galaxy-posts-frame.cat-frame-materials::after,
.galaxy-posts-frame[data-cat="Resources"]::before,
.galaxy-posts-frame[data-cat="Resources"]::after,
.galaxy-posts-frame[data-cat="materials"]::before,
.galaxy-posts-frame[data-cat="materials"]::after {
  background: var(--cat-resources);
}

/* === 카드 내 카테고리 명찰 위치 === */
.gp-card .cat-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 5;
  font-size: 9px;
  padding: 2px 8px;
}

/* === 노치 색상 카테고리 연동 === */
.galaxy-posts-frame.cat-frame-education .galaxy-posts-notch::before,
.galaxy-posts-frame[data-cat="education"] .galaxy-posts-notch::before {
  background: radial-gradient(circle, #111 20%, #1a5090 60%, var(--cat-education) 100%);
  border-color: var(--cat-education);
}
.galaxy-posts-frame.cat-frame-promotion .galaxy-posts-notch::before,
.galaxy-posts-frame.cat-frame-promo .galaxy-posts-notch::before,
.galaxy-posts-frame[data-cat="promo"] .galaxy-posts-notch::before {
  background: radial-gradient(circle, #111 20%, #c04030 60%, var(--cat-promotion) 100%);
  border-color: var(--cat-promotion);
}
.galaxy-posts-frame.cat-frame-knowledge .galaxy-posts-notch::before,
.galaxy-posts-frame[data-cat="knowledge"] .galaxy-posts-notch::before {
  background: radial-gradient(circle, #111 20%, #108070 60%, var(--cat-knowledge) 100%);
  border-color: var(--cat-knowledge);
}
.galaxy-posts-frame.cat-frame-press .galaxy-posts-notch::before,
.galaxy-posts-frame[data-cat="press"] .galaxy-posts-notch::before {
  background: radial-gradient(circle, #111 20%, #5040a0 60%, var(--cat-press) 100%);
  border-color: var(--cat-press);
}
.galaxy-posts-frame.cat-frame-resources .galaxy-posts-notch::before,
.galaxy-posts-frame.cat-frame-materials .galaxy-posts-notch::before,
.galaxy-posts-frame[data-cat="materials"] .galaxy-posts-notch::before {
  background: radial-gradient(circle, #111 20%, #108040 60%, var(--cat-resources) 100%);
  border-color: var(--cat-resources);
}

/* === 노치 하단바 색상 연동 === */
.galaxy-posts-frame.cat-frame-education .galaxy-posts-notch::after { background: linear-gradient(90deg, transparent, var(--cat-education), transparent); }
.galaxy-posts-frame.cat-frame-promotion .galaxy-posts-notch::after,
.galaxy-posts-frame.cat-frame-promo .galaxy-posts-notch::after { background: linear-gradient(90deg, transparent, var(--cat-promotion), transparent); }
.galaxy-posts-frame.cat-frame-knowledge .galaxy-posts-notch::after { background: linear-gradient(90deg, transparent, var(--cat-knowledge), transparent); }
.galaxy-posts-frame.cat-frame-press .galaxy-posts-notch::after { background: linear-gradient(90deg, transparent, var(--cat-press), transparent); }
.galaxy-posts-frame.cat-frame-resources .galaxy-posts-notch::after,
.galaxy-posts-frame.cat-frame-materials .galaxy-posts-notch::after { background: linear-gradient(90deg, transparent, var(--cat-resources), transparent); }

