@charset "utf-8";
@import url('https://cdn.rawgit.com/moonspam/NanumSquare/master/nanumsquare.css');

.loadup_board_container {
    max-width: 1200px;
    margin: 40px auto;
    padding-bottom: 50px;
}

.loadup-guide {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 20px;
}

.loadup-guide .upskin-version {
    font-size: 0.8em;
    font-family: var(--f-pre);
    color: var(--content-font-color);
    opacity: 0.2;
    margin-right: 5px;
}


.loadup-guide-button {
    display: flex;
    align-items: center;
    gap: 3px;
}

.loadup-button.ui {
    font-family: var(--content-font-family);
    font-size: 13px;
    width: 20px;
    height: 20px;
    border: 1px inset var(--color-b);
    border-radius: 15px;
    background: var(--color-4);
    color: var(--content-font-color);
    padding: 2px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loadup-button.ui:hover {
    background: var(--color-b);
    color: var(--gray-600);
}

.loadup-button.ui.sch {
    height: 25px;
    width: 40px;
    background: var(--color-2);
}

.loadup-button.ui.sch:hover {
    background: var(--color-b);
    color: var(--gray-600);
}

.loadup-guide input#stx {
    flex: 1;
    max-width: 100%;
}   


/* 공지사항 박스 */
.board-notice-box {
    text-align: center;
    background: var(--card-bg-color);
    border: 1px solid var(--card-border-color);
    border-radius: 15px;
    padding: 20px 40px;
    color: var(--content-font-color);
    font-family: 'NanumSquare';
    font-size: 12px;
    letter-spacing: -0.5px;
	width: fit-content;
	margin-bottom: 20px;
}

/* 카테고리 */
.load-list-option select {
    border-radius: 15px;
    height: 25px;
    background: var(--card-bg-color);
    border: 1px solid var(--color-9);
    color: #eee;
}

/* 본문 */

#log_list .item {
    background: var(--card-bg-color);
    color: var(--color-e);
    border-radius: 20px;
}

/* 전체 컨테이너 */
#log_list {
    height: auto;
    overflow: visible;
    margin-top: 30px;
}

/* 본문 중앙 정렬 */
.log-images {
    text-align: center;
}

/* 비밀글, 비밀 댓글 */
.secret-container {
    text-align: center;
    border: 1px solid var(--card-border-color);
    border-radius: var(--card-border-radius);
    padding: 30px;
    background: var(--card-bg-color);
    font-family: var(--content-font-family);
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--content-font-color);
    box-sizing: border-box;
}

.secret-container input, .secret-comment-form input {
    padding: 8px;
    background: var(--form-bg-color);
    border: 1px solid var(--form-border-color);
    color: var(--form-text-color);
    border-radius: var(--form-border-radius);
    cursor: text;
}

.secret-comment-form {
    text-align: center;
    border-radius: 10px;
    border: 1px solid var(--color-4);
    padding: 30px;
    background: var(--card-bg-color);
    font-family: 'NanumSquare';
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--content-font-color);
    margin: 15px 10px 18px;
}

.secret-container button, .secret-comment-form button {
    cursor: pointer;
    background: var(--btn-accent-bg);
    color: var(--btn-accent-text);
    border-radius: var(--btn-accent-radius);
    border: none;
    padding: 6px 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.secret-container button:hover, .secret-comment-form button:hover {
    background: var(--color-5);
}

.secret-container, .main-container {
    transition: opacity 0.1s ease-in-out;
}

.secret-comment-form, .comment-item {
    transition: opacity 0.1s ease-in-out;
}

/* 2열 구조 */
.main-container {
    font-family: 'NanumSquare';
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    border: 1px solid var(--container-border-color);
    border-radius: 10px;
    padding: 25px;
    background: var(--container-bg-color);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    margin-bottom: 10px;
    box-sizing: border-box;
}

/* 좌측 컨텐츠 영역 (작성자 + 본문) */
.content-wrapper {
    width: 65%;
    display: flex;
    flex-direction: column;
    padding-right: 20px;
}

/* 우측 댓글 영역 */
.comment-wrapper {
    width: 35%;
	flex: 1;
}

.user-info-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;

}

/* 📌 작성자 정보 */
.user-info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.profile-pic-img {
    width: 40px;
    height: 40px;
}

.user-details {
    display: flex;
    flex-direction: row;
    gap: 3px;
    align-items: center;
}

.nick {
    font-weight: bold;
    font-size: 1em;
    color: var(--content-font-color);
}

.id {
    font-size: 0.85em;
    color: rgb(from var(--content-font-color) r g b / 70%);
}

.content-date {
    font-size: 0.85em;
    color: rgb(from var(--content-font-color) r g b / 70%);
}

/* 📌 본문 영역  */
.post-content {
    position: relative;
    max-height: var(--post-height, 600px); /* 기본 접힘 높이를 게시판 설정값과 연동 */
    transition: max-height 0.5s ease-in-out;
    display: -webkit-box;
    -webkit-line-clamp: 10; /* 기본적으로 10줄까지만 보이도록 설정 */
    -webkit-box-orient: vertical;
	display: flex;
    justify-content: center;
}

/* 📌 본문이 접혔을 때 OPEN 버튼을 우측 하단에 고정 */
.post-toggle-btn {
    position: absolute;
    width: 100%;
    bottom: 0px;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 3px 5px;
    font-size: 13px;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    display: block;
    text-align: center;
    z-index: 10;
}

.post-edit, .post-delete {
    color: var(--accent-color);
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
}

.post-edit:hover, .post-delete:hover {
    text-decoration: underline;
}

/* 📌 본문이 펼쳐졌을 때 (OPEN 후) */
.post-content.on {
    max-height: none;
}

.post-number {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    position: relative;
    font-size: 1em;
    font-family: 'NanumSquare';
    font-weight: bold;
    font-style: italic;
    width: 30px;
    height: auto;
    border-radius: 5px;
    padding: 5px 5px 5px 3px;
    background: var(--btn-secondary-bg);
    top: 0px;
    margin-left: 10px;
    color: var(--btn-secondary-text);
}

.post-number::before {
    border-right-color: var(--btn-secondary-bg) !important;
    content: '';
    position: absolute;
    left: 47px;
    bottom: 10px;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-left: 0;
    border-bottom: 0;
    margin-top: -7.5px;
    margin-left: -53px;
    transform: rotate(31deg);
}


.loadboard_content {
	text-align: center;
	line-height: 1.7;
    letter-spacing: -0.3px;
	color: var(--content-font-color);
    font-size: 11px;
	min-height: 50px;
	padding-bottom: 30px;
}

.post-actions {
    display: flex;
    font-size: 0.8em;
    align-items: center;
    justify-content: space-between;
    border: dotted;
    border-color: rgba(112, 112, 112, 1);
    border-width: 0px 0px 2px 0px;
    padding: 0px 0px 15px 0px;
}

.post-actions a {
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-radius: 10px;
    border: none;
    padding: 6px 10px;
    margin-left: 3px;
    height: 100%;
}

.post-actions a:hover {
    font-weight: bold;
}

.thread-write-btn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-top: 10px;
}

.thread-write-btn a {
    color: var(--secondary-color);
}

.thread-write-btn a:hover {
    color: var(--accent-color);
}


/* 📌 본문 내 이미지 스타일 */
.log-image {
    display: inline-block;
    margin: 5px;
}
.log-image img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

#log_list .comment-item {
	position: relative;
	padding: 10px 10px 12px 7px;
	margin-bottom: 8px;
	align-self: flex-start;
	border-radius: 20px;
	min-width: 250px;
}


/* ✅ 19금 블라인드 (완전 검은색 배경 + 버튼 추가) */
.blind-wrapper {
    position: relative;
    width: 100%;
    background: black;
    color: transparent;
    overflow: hidden;
}
.blind-content {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 20px;
}
.blind-content .content-hidden {
    display: none;
}

/* ✅ 성인 컨텐츠 보기 버튼 */
.blind-toggle-btn {
	font-family: 'NanumSquare';
	background: rgba(255, 0, 0, 0.8);
    color: white;
    padding: 2px 50px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
    z-index: 10;
    transition: background 0.3s;
}
.blind-toggle-btn:hover {
    background: rgba(255, 0, 0, 1);
}

/* ✅ 블라인드 해제 시 */
.blind-wrapper.blind-clear {
    background: none;
    color: inherit;
}
.blind-wrapper.blind-clear .blind-toggle-btn {
    display: none;
}
.blind-wrapper.blind-clear .blind-content .content-hidden {
    display: block;
}

/* 기본 스포일러 상태: 블러 처리 및 오버레이 텍스트 표시 */
.spoiler-content {
    position: relative;
    filter: blur(5px);
    transition: filter 0.3s ease;
    cursor: pointer;
}

.spoiler-content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(0, 0, 0, 0.3);
}

/* 해제된 상태: 블러 제거 및 오버레이 숨김 */
.spoiler-content.clear {
    filter: none;
}

.spoiler-content.clear::after {
    display: none;
}

/* 모달 기본 스타일 */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    align-items: center;
    justify-content: center;
}

/* 모달 기본 스타일 */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    align-items: center;
    justify-content: center;
}

/* 모달 내 이미지 스타일 */
.modal-content {
    max-width: 80%;
    max-height: 80%;
    border-radius: 10px;
}

/* 닫기 버튼 */
.close {
    position: absolute;
    top: 15px;
    right: 25px;
    color: white;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
}

/* 좌우 탐색 버튼 */
.prev, .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 30px;
    color: white;
    cursor: pointer;
    padding: 10px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    user-select: none;
}

.prev {
    left: 20px;
}

.next {
    right: 20px;
}

.prev:hover, .next:hover {
    background: rgba(0, 0, 0, 0.8);
}


/* 모바일 최적화 추가 25-03-26 */
.load-guide {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-direction: row;
    flex-wrap: wrap;
}

.load-guide-button {
    display: flex;
    align-items: center;
    gap: 3px;
}

.load-button.ui {
    font-family: 'NanumSquare';
    font-size: 13px;
    width: 20px;
    height: 20px;
    border: 1px inset var(--card-bg-color);
    border-radius: 15px;
    background: var(--card-bg-color);
    color: var(--content-font-color);
    padding: 2px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.load-button.ui:hover {
    background: var(--card-bg-color);
    color: var(--content-font-color);
}

.load-button.ui.sch {
    height: 25px;
    width: 40px;
    background: var(--container-bg-color);
}

.load-button.ui.sch:hover {
    background: var(--card-bg-color);
    color: var(--content-font-color);
}

.searc-sub-box {
	padding: 0;
	margin: 0;
}

.ui-search-box select, .ui-search-box input[type="text"] {
	border-radius: 15px;
	background: var(--container-bg-color);
	color: var(--content-font-color);
}

/* 반응형 비디오 */
.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 비율 */
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* 카테고리 */
#loadup_category ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

#loadup_category ul a {
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border: 1px solid var(--btn-primary-text);
    border-radius: 13px;
    padding: 5px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1em;
}

#loadup_category ul #bo_cate_on {
    background: var(--btn-accent-bg);
    color: var(--btn-accent-text);
}

#loadup_category ul a:hover {
    background: var(--btn-accent-bg);
    color: var(--btn-accent-text);
}


/* 해시태그 모아보기 */

.tagtoggle-btn {
  position: fixed;
  top: 9%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1001;
  padding: 5px 10px;
  background: var(--btn-accent-bg);
  color: var(--btn-accent-text);
  border: none;
  cursor: pointer;
}

button#loadMoreTags {
    background: transparent;
    border: 0;
    color: var(--content-font-color);
    font-size: 0.8em;
    font-family: 'NanumSquare';
}

.reply-thread-container section {
    max-width: 100%;
}


/* ========================================
   본문 텍스트 말풍선 스타일
   ======================================== */
.post-text-bubble {
    background: var(--card-bg-color, #2a2a2a);
    border-radius: 12px;
    padding: 12px 15px;
    margin-bottom: 10px;
}

.bubble-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.bubble-profile {
    flex-shrink: 0;
}

.bubble-profile-img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--bg-color, #1a1a1a);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--content-font-color, #ccc);
    font-size: 16px;
}

img.bubble-profile-img {
    display: block;
}

.bubble-user-info {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
}

.bubble-name {
    font-weight: 600;
    color: var(--content-font-color, #fff);
    font-size: 14px;
}

.bubble-id {
    color: var(--text-muted-color, #888);
    font-size: 13px;
}

.bubble-date {
    color: var(--text-muted-color, #888);
    font-size: 12px;
    margin-left: auto;
}

.bubble-content {
    padding: 0px 10px;
}

.bubble-content .ra0-content {
    line-height: 1.5;
}

.bubble-actions {
    display: flex;
    padding-top: 10px;
    justify-content: flex-end;
    gap: 10px;
}

.post-text-bubble .bubble-actions a,
.post-reply-bubble .bubble-actions a {
    color: var(--secondary-color);
}

.post-text-bubble .bubble-actions a:hover,
.post-reply-bubble .bubble-actions a:hover {
    color: var(--accent-color);
}

.post-text-bubble.bubble-owner {
    position: relative;
}

/* 타래 주인 - 왼쪽 꼬리 말풍선 */
.post-text-bubble.bubble-owner::before {
    content: '';
    position: absolute;
    top: 20px;
    left: -10px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 10px solid var(--card-bg-color, #2a2a2a);
}

/* 타래 게스트 - 오른쪽 꼬리 말풍선, secondary-color */
.post-text-bubble.bubble-guest {
    background: var(--secondary-color, #4a5568);
    margin-right: 10px;
    border-top-right-radius: 4px;
}
.post-text-bubble.bubble-guest::after {
    content: '';
    position: absolute;
    top: 12px;
    right: -8px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid var(--secondary-color, #4a5568);
}

.thread-write-form {
    background: var(--card-bg-color, #2a2a2a);
    border-radius: 10px;
    padding: 12px;
    margin-top: 20px;
}

.thread-guest-name input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border-color, #333);
    border-radius: 6px;
    background: var(--bg-color, #1a1a1a);
    color: var(--content-font-color, #fff);
    margin-bottom: 8px;
}

.thread-upload-toggle {
    margin-bottom: 8px;
}

.toggle-upload-btn {
    color: var(--text-muted-color, #888);
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.toggle-upload-btn:hover {
    color: var(--primary-color, #3b82f6);
}

.thread-upload-area {
    margin-bottom: 10px;
}

.thread-dropzone {
    border: 2px dashed var(--border-color, #444);
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    cursor: pointer;
    color: var(--text-muted-color, #888);
    font-size: 12px;
    margin-bottom: 8px;
    transition: all 0.2s;
}

.thread-dropzone:hover,
.thread-dropzone.dragover {
    border-color: var(--primary-color, #3b82f6);
    background: rgba(59, 130, 246, 0.05);
}

.thread-dropzone i {
    font-size: 20px;
    display: block;
    margin-bottom: 5px;
}

.thread-url-input {
    display: flex;
    gap: 6px;
    margin-bottom: 8px;
}

.thread-url-input input {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid var(--form-border-color);
    border-radius: 6px;
    background: var(--form-bg-color);
    color: var(--form-text-color);
    font-size: 0.9em;
}

.btn-add-url {
    padding: 8px 12px;
    border: none;
    border-radius: 6px;
    background: var(--btn-secondary-bg);
    color: var(--btn-secondary-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 이미지 그리드 */
.thread-image-grid {
    display: grid;
    gap: 4px;
    margin-bottom: 8px;
}

.thread-image-grid.grid-1 {
    grid-template-columns: 1fr;
}

.thread-image-grid.grid-2 {
    grid-template-columns: 1fr 1fr;
}

.thread-image-grid.grid-3 {
    grid-template-columns: 1fr 1fr;
}

.thread-image-grid.grid-3 .thread-image-item:nth-child(3) {
    grid-column: span 2;
}

.thread-image-grid.grid-4 {
    grid-template-columns: 1fr 1fr;
}

.thread-image-item {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 1;
}

.thread-image-grid.grid-1 .thread-image-item {
    aspect-ratio: 16/9;
}

.thread-image-grid.grid-3 .thread-image-item:nth-child(3) {
    aspect-ratio: 2/1;
}

.thread-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.btn-remove-img {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: none;
    background: rgba(220, 38, 38, 0.9);
    color: #fff;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s;
}

.thread-image-item:hover .btn-remove-img {
    opacity: 1;
}

.thread-content-area {
    margin-bottom: 8px;
}

.thread-textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--form-border-color);
    border-radius: 6px;
    background: var(--form-bg-color);
    color: var(--form-text-color);
    resize: none;
    font-size: 1em;
    line-height: 1.5;
}

.thread-options {
    display: flex;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 12px;
    color: var(--text-muted-color, #888);
}

.thread-options label {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.thread-submit {
    display: flex;
    justify-content: flex-end;
}

.btn-thread-submit {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    background: var(--btn-accent-bg);
    color: var(--btn-accent-text);
    cursor: pointer;
    font-size: 1em;
}

.btn-thread-submit:hover {
    opacity: 0.9;
}


/* 답글 아이템 - 트위터 스타일 */
.reply-item {
    padding: 0;
    color: var(--content-font-color);
    transition: all 0.3s ease;
}

.reply-item:hover {
    background: var(--container-bg-color);
    box-shadow: 0 2px 8px rgb(from var(--gray-600) r g b / 20%);
}

/* 답글 라인 래퍼 - 프로필과 콘텐츠를 가로로 배치 */
.reply-line-wrapper {
    display: flex;
    gap: 12px;
    padding: 10px 20px;
    align-items: stretch;
}

/* 답글 아바타 래퍼 - 프로필 이미지와 세로 라인 */
.reply-avatar-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    align-self: stretch;
}

/* 답글 프로필 사진 */
.reply-profile-pic {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.reply-profile-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 세로 연결 라인 - 트위터 스타일 */
.reply-loadup-line {
    width: 2px;
    flex: 1;
    background: var(--secondary-color);
    margin-top: 8px;
    min-height: 40px;
    border-radius: 1px;
}

/* 답글 메인 콘텐츠 영역 */
.reply-main-content {
    flex: 1;
    min-width: 0;
}

/* 답글 헤더 */
.reply-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

/* 답글 사용자 정보 */
.reply-user-info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.reply-profile {
    display: flex;
    align-items: center;
    gap: 3px;
}

/* 답글 자식 컨테이너 */
.reply-children {
    /* 자식 답글은 같은 레벨에 표시 (margin-left 없음) */
}

.reply-actions {
    display: flex;
    gap: 5px;
}

/* 답글 내용 */
.reply-content {
    margin-top: 8px;
}

.reply-mention {
    display: inline-flex;
    color: var(--secondary-color);
    font-size: 0.8em;
    font-weight: 600;
    border-radius: 12px;
    position: relative;
    top: -3px;
    padding-left: 10px;
    align-items: center;
    gap: 4px;
}
.reply-image {
    margin: 8px 0;
    border-radius: 5px;
    overflow: hidden;
}

.reply-image img {
    max-width: 100%;
    height: auto;
    display: block;
}

.reply-text, .reply-name, .reply-id, .reply-date {
    color: var(--content-font-color);
    line-height: 1.6;
    word-break: break-word;
}

.reply-text {
    font-size: var(--content-font-size);
    padding: 0px 10px;
}

.reply-name {
    font-weight: bold;
    font-size: 1.1em;
}

.reply-id {
    opacity: 0.7;
    font-size: 0.85em;
}

.reply-date {
    font-size: 0.7em;
    line-height: 1;
    opacity: 0.5;
}

/* .reply-item:hover .reply-text,
.reply-item:hover .reply-name,
.reply-item:hover .reply-id,
.reply-item:hover .reply-date,
.reply-item:hover .reply-actions .ra0_ui_btn,
.reply-item:hover .reply-footer .ra0_ui_btn {
    color: var(--content-bg-color);
} */

/* ========================================
   답글 말풍선 스타일 (post-reply-bubble)
   ======================================== */
.post-reply-bubble {
    background: var(--card-bg-color, #2a2a2a);
    border-radius: 12px;
    padding: 12px 15px;
    margin-bottom: 10px;
    position: relative;
}

/* 타래 주인 - 왼쪽 꼬리 */
.post-reply-bubble.bubble-owner {
}

.post-reply-bubble.bubble-owner::before {
    content: '';
    position: absolute;
    top: 12px;
    left: -8px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 8px solid var(--card-bg-color, #2a2a2a);
}

/* 타래 게스트 - 오른쪽 꼬리 */
.post-reply-bubble.bubble-guest {
    background: var(--secondary-color, #4a5568);
    margin-right: 10px;
    border-top-right-radius: 4px;
}
.post-reply-bubble.bubble-guest::after {
    content: '';
    position: absolute;
    top: 12px;
    right: -8px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid var(--secondary-color, #4a5568);
}

/* 비밀글 말풍선 */
.post-reply-bubble.bubble-secret {
    text-align: center;
    padding: 20px;
}
.post-reply-bubble.bubble-secret .secret-message {
    margin-bottom: 10px;
    color: var(--text-muted-color, #888);
}
.post-reply-bubble.bubble-secret input[type="password"] {
    padding: 8px 12px;
    border: 1px solid var(--border-color, #333);
    border-radius: 6px;
    background: var(--bg-color, #1a1a1a);
    color: var(--content-font-color, #fff);
    margin-right: 8px;
}
.post-reply-bubble.bubble-secret button {
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    background: var(--primary-color, #3b82f6);
    color: #fff;
    cursor: pointer;
}

/* 답글 이미지 그리드 */
.reply-image-grid {
    display: grid;
    gap: 4px;
    margin-bottom: 10px;
    border-radius: 12px;
    overflow: hidden;
}
.reply-image-grid.grid-1 {
    grid-template-columns: 1fr;
}
.reply-image-grid.grid-2 {
    grid-template-columns: 1fr 1fr;
}
.reply-image-grid.grid-3 {
    grid-template-columns: 1fr 1fr;
}
.reply-image-grid.grid-3 .reply-image-item:nth-child(3) {
    grid-column: span 2;
}
.reply-image-grid.grid-4 {
    grid-template-columns: 1fr 1fr;
}

.reply-image-item {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
}
.reply-image-grid.grid-1 .reply-image-item {
    aspect-ratio: 16/9;
}
.reply-image-grid.grid-3 .reply-image-item:nth-child(3) {
    aspect-ratio: 2/1;
}
.reply-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.2s;
}
.reply-image-item img:hover {
    transform: scale(1.02);
}

/* 답글 접기 */
.post-reply-bubble.reply-collapsed .bubble-content {
    max-height: 100px;
    overflow: hidden;
    position: relative;
    padding-bottom: 30px;
}

/* 펼쳤을 때 */
.post-reply-bubble.reply-collapsed.expanded .bubble-content {
    max-height: none;
    overflow: visible;
}

/* 토글 버튼 */
.bubble-toggle-btn {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 3px 5px;
    font-size: 13px;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    display: block;
    text-align: center;
    z-index: 10;
}
.bubble-toggle-btn:hover {
    background: rgba(0, 0, 0, 0.9);
}

/* 답글 블라인드 (성인 콘텐츠) */
.bubble-blind-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--card-bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    border-radius: 8px;
}
.bubble-blind-btn {
    background: var(--color-4);
    color: var(--content-font-color);
    border: 1px solid var(--color-6);
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 13px;
}
.bubble-blind-btn:hover {
    background: var(--color-5);
}
.bubble-content {
    position: relative;
}

/* 인라인 수정 폼 */
.reply-edit-form {
    padding: 10px 0;
}
.reply-edit-textarea {
    width: 100%;
    min-height: 60px;
    padding: 10px;
    border: 1px solid var(--form-border-color);
    border-radius: 8px;
    background: var(--form-bg-color);
    color: var(--form-text-color);
    font-size: 1em;
    resize: vertical;
    box-sizing: border-box;
}
.reply-edit-options {
    display: flex;
    gap: 10px;
    margin-top: 8px;
    font-size: 12px;
}
.reply-edit-options label {
    display: flex;
    align-items: center;
    gap: 3px;
    cursor: pointer;
}
.reply-edit-buttons {
    display: flex;
    gap: 5px;
    margin-top: 8px;
    justify-content: flex-end;
}
.reply-edit-buttons button {
    padding: 5px 12px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
}
.btn-reply-save {
    background: var(--primary-color);
    color: white;
}
.btn-reply-cancel {
    background: var(--color-5);
    color: var(--content-font-color);
}

/* 인라인 수정 이미지 업로드 */
.reply-edit-upload-toggle {
    margin-bottom: 5px;
}
.reply-edit-upload-toggle a {
    font-size: 12px;
    color: var(--content-font-color);
    opacity: 0.7;
}
.reply-edit-upload-toggle a:hover {
    opacity: 1;
}
.reply-edit-upload-area {
    border-radius: 8px;
}
.reply-edit-existing-files {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.existing-file-item {
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
}
.existing-file-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.existing-file-item .file-del-check {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 20px;
    height: 20px;
    background: rgba(0,0,0,0.6);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.existing-file-item .file-del-check input {
    display: none;
}
.existing-file-item .file-del-check i {
    font-size: 10px;
    color: #fff;
    opacity: 0.5;
}
.existing-file-item .file-del-check:has(input:checked) {
    background: var(--danger-color, #dc3545);
}
.existing-file-item .file-del-check:has(input:checked) i {
    opacity: 1;
}
.reply-edit-dropzone {
    padding: 15px;
    text-align: center;
    border: 2px dashed var(--accent-color);
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    color: var(--content-font-color);
    opacity: 0.6;
    transition: all 0.2s;
}
.reply-edit-dropzone:hover,
.reply-edit-dropzone.dragover {
    border-color: var(--primary-color);
    opacity: 1;
}
.reply-edit-dropzone i {
    display: block;
    font-size: 20px;
    margin-bottom: 5px;
}
.reply-edit-url-input {
    display: flex;
    gap: 5px;
    margin-top: 8px;
}
.reply-edit-url-input input {
    flex: 1;
    padding: 6px 10px;
    border: 1px solid var(--form-border-color);
    border-radius: 5px;
    font-size: 12px;
    background: var(--form-bg-color);
    color: var(--form-text-color);
}
.reply-edit-url-input button {
    padding: 6px 10px;
    border: none;
    border-radius: 5px;
    background: var(--primary-color);
    color: white;
    cursor: pointer;
}
.reply-edit-image-grid {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.reply-edit-image-item {
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
}
.reply-edit-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.reply-edit-image-item .btn-remove-img {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(0,0,0,0.6);
    color: white;
    font-size: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.reply-edit-image-item .btn-remove-img:hover {
    background: var(--danger-color, #dc3545);
}

/* 멘션 영역 */
.bubble-mention {
}

.reply-footer {
    margin-top: 8px;
    /* text-align: right; */
}

.reply-footer .ra0_ui_btn {
    background: transparent;
    color: var(--primary-color);
}

.reply-actions .ra0_ui_btn {
    background: transparent;
    color: var(--primary-color);
    padding: 0;
}

/* 답글 작성 폼 */
.reply-form-container {
    margin-top: 10px;
    padding: 15px;
    background: var(--secondary-color);
    border-radius: 8px;
    border: 1px solid var(--gray-600);
}

.reply-form textarea {
    width: 100%;
    min-height: 80px;
    padding: 10px;
    border: 1px solid var(--gray-600);
    border-radius: 5px;
    background: var(--color-2);
    color: var(--content-font-color);
    font-family: inherit;
    font-size: 13px;
    resize: vertical;
    margin-bottom: 10px;
}

.reply-guest {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.reply-guest input {
    flex: 1;
    padding: 8px;
    border: 1px solid var(--gray-600);
    border-radius: 5px;
    background: var(--color-2);
    color: var(--content-font-color);
}

.reply-file-upload {
    margin-bottom: 10px;
}

.reply-file-upload label {
    display: block;
    margin-bottom: 5px;
    color: var(--color-9);
    font-size: 12px;
}

.reply-file-input {
    width: 100%;
    padding: 5px;
    margin-bottom: 5px;
    font-size: 12px;
}

.reply-buttons {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

/* 답글 중첩 스타일 */
.reply-nested {
    border-left-color: var(--color-s);
}

.reply-root {
    /* border-left-color: var(--btn--accent-bg); */
}


.loadup_tag {
    display: none !important;
    position: fixed;
    top: 9%;
    right: 0;
    width: 300px;
    max-width: 300px;
    transform: translateX(100%) translateY(0%);
    transition: transform 0.3s ease-in-out;
    z-index: 1000;
    height: auto;
    /* 또는 fit-content; 사용 가능 */
    font-family: var(--content-font-family);
    display: flex;
    border: 1px solid var(--container-border-color);
    border-radius: 10px;
    padding: 20px;
    background: var(--container-bg-color);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    margin-bottom: 10px;
    box-sizing: border-box;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    gap: 3px;
}

.loadup_tag.active {
    display: flex !important;
    transform: translateX(0) translateY(0%);
}

.tagtoggle-btn {
    position: fixed;
    top: 9%;
    right: 0;
    transform: translateY(-50%);
    z-index: 1001;
    padding: 5px 10px;
    background: var(--btn-accent-bg);
    color: var(--btn-accent-text);
    border: none;
    border-radius: 4px 0px 0px 4px;
    box-shadow: 1px 3px 1px rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

/* 모바일 최적화 */
@media (max-width: 768px) {
    .reply-line-wrapper {
        padding: 8px 12px;
        gap: 8px;
    }

    .reply-profile-pic {
        width: 32px;
        height: 32px;
    }

    .reply-profile-img {
        width: 32px;
        height: 32px;
    }

    .reply-name {
        font-size: 13px;
    }

    .reply-text {
        font-size: 12px;
    }

    .reply-form textarea {
        min-height: 60px;
        font-size: 12px;
    }

    .reply-guest {
        flex-direction: column;
    }

	.load_log_board.mobile {
		max-width: 550px;
	}
	
    .main-container {
        flex-direction: column;
    }

    .content-wrapper {
        width: 100%;
        padding-right: 0;
    }

    .comment-wrapper {
        width: 100%;
        margin-top: 20px;
    }
}
