/* 뉴스툰 (/news 전용). 전부 .nt 안으로 한정한다.
   색은 한 곳(.nt 의 --nt-* )에서만 정한다 — 값은 사이트 보라 체계(common/css/ranktipster-violet-trial.css 와
   같은 값)이고, 이 파일의 나머지 규칙은 --nt-* 만 읽는다. 2차 조정은 이 토큰과 아래 "밀도" 값만 만지면 된다. */
html body.rt-newstoon .gpe_contents_box { max-width: none; }
@media (min-width: 1100px) { html body.rt-newstoon .gpe_allcon_wrap0.rt-shell { max-width: 1440px; padding-left: 24px; padding-right: 24px; } }

.nt {
	--nt-brand: #956bff; --nt-brand-rgb: 149, 107, 255; --nt-brand-hi: #b49aff; --nt-on-brand: #101322;
	--nt-text: #f7f7fa; --nt-text-2: #aab1c7; --nt-muted: #8791ad;
	--nt-surface: var(--rt-surface-1, #0f1a2e); --nt-surface-2: var(--rt-surface-2, #16233d);
	--nt-border: var(--rt-border, #1f2a44); --nt-border-strong: var(--rt-border-strong, #38466b);
	--nt-tint: rgba(var(--nt-brand-rgb), .12); --nt-line: rgba(var(--nt-brand-rgb), .30);
	/* 밀도 */
	padding: 18px 0 40px; color: var(--nt-text); box-sizing: border-box;
}
.nt *, .nt *::before, .nt *::after { box-sizing: border-box; }
.nt a { text-decoration: none; }
.nt a:focus-visible, .nt button:focus-visible, .nt input:focus-visible { outline: 2px solid var(--nt-brand-hi); outline-offset: 2px; }

/* 상단 제목 상자 */
.nt-head { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 0 0 18px; padding: 14px 20px;
	border: 1px solid var(--nt-line); border-radius: 12px;
	background: radial-gradient(ellipse at 90% 80%, rgba(var(--nt-brand-rgb), .14), transparent 60%), linear-gradient(115deg, var(--nt-surface) 45%, var(--nt-surface-2)); }
.nt-head-icon { display: inline-flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 44px;
	border: 1px solid var(--nt-line); border-radius: 11px; background: var(--nt-tint); color: var(--nt-brand-hi); }
.nt-head-icon svg { display: block; }
.nt-head-text { min-width: 0; }
.nt-head-top { display: flex; align-items: center; gap: 12px; }
.nt-head .nt-head-search { flex: 0 0 auto; margin-left: auto; }
.nt-head .nt-head-search input[type="text"] { flex: 0 0 auto; width: 260px; }
.nt .nt-search .nt-search-btn { width: 44px; padding: 0; justify-content: center; border-radius: 999px; background: #8b5cf6; border-color: #8b5cf6; color: #fff; }
.nt .nt-search .nt-search-btn:hover { background: #7c4def; border-color: #7c4def; color: #fff; }
.nt-search-reset { color: var(--nt-muted); font-size: 12.5px; white-space: nowrap; }
.nt-search-reset:hover { color: var(--nt-brand-hi); }
/* 작성일 필터: 전체 / 오늘 / 어제 / 달력 */
.nt-datebar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nt-cal { position: relative; display: inline-flex; margin: 0; }
.nt-chip { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; border: 1px solid var(--nt-border-strong); border-radius: 999px; background: transparent; color: var(--nt-text-2);
	font: inherit; font-size: 14px; font-weight: 650; line-height: 1; cursor: pointer; transition: background-color .14s, border-color .14s, color .14s; }
.nt-chip:hover { border-color: var(--nt-brand); color: var(--nt-text); }
.nt-chip[aria-current="true"] { border-color: transparent; background: #8b5cf6; color: #fff; }
.nt-chip svg { flex: 0 0 auto; }
.nt-cal-input { position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.nt-head h1 { margin: 0; color: var(--nt-text); font-size: 24px; font-weight: 800; line-height: 1.25; }
.nt-head p { margin: 3px 0 0; color: var(--nt-text-2); font-size: 13px; line-height: 1.4; }
.nt-more { margin: 30px 0 12px; color: var(--nt-text); font-size: 17px; font-weight: 800; }

/* 경기별 그룹 */
.nt-group { margin: 0 0 36px; }
.nt-group-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0 0 10px; }
.nt-group-head h2 { margin: 0; font-size: 19px; font-weight: 800; line-height: 1.35; }
.nt-group-head h2 a { color: var(--nt-text); }
.nt-group-head h2 a:hover { color: var(--nt-brand-hi); }
.nt-group-head p { margin: 0; color: var(--nt-muted); font-size: 13px; }
.nt-more-link { flex: 0 0 auto; margin: 0; white-space: nowrap; }
.nt-more-link { margin-left: auto; padding: 4px 12px; border: 1px solid var(--nt-border); border-radius: 999px; color: var(--nt-text-2); font-size: 12.5px; font-weight: 650; }
.nt-more-link:hover { border-color: var(--nt-brand); color: var(--nt-brand-hi); }

/* 카드 목록: 1100px+ 4열 / 768~1099 2열 / 767 이하 1열 */
.nt-feed { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; margin: 0; padding: 0; list-style: none; }
.nt-feed > li { position: relative; min-width: 0; }
.nt-item { display: flex; flex-direction: column; height: 100%; padding: 0; color: inherit; }
.nt-thumb { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 10px; background: var(--nt-surface-2); }
.nt-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nt-thumb-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--nt-muted);
	font-size: 13px; font-weight: 800; letter-spacing: .14em; background: linear-gradient(135deg, rgba(var(--nt-brand-rgb), .16), transparent 60%), var(--nt-surface-2); }
.nt-item-body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 8px; min-width: 0; padding: 12px 2px 0; }
.nt-title { display: -webkit-box; overflow-wrap: anywhere; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	color: var(--nt-text); font-size: 17px; font-weight: 750; line-height: 1.4; }
.nt-item:hover .nt-title { color: var(--nt-brand-hi); }

/* 빈 상태 */
.nt-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 24px 0; padding: 48px 16px;
	border: 1px dashed var(--nt-line); border-radius: 12px; background: rgba(var(--nt-brand-rgb), .04); color: var(--nt-brand-hi); text-align: center; }
.nt-empty p { margin: 0; color: var(--nt-text-2); font-size: 14px; }

/* 하단: 버튼 · 검색 · 페이징 (코어의 button.btn {height:26px !important} 때문에 높이는 min-height 로 준다) */
.nt-foot { margin-top: 22px; }
.nt-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 12px; margin: 0 0 14px; }
.nt-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin: 0 0 0 auto; }
.nt .btn { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 1px solid var(--nt-border); border-radius: 8px;
	background: var(--nt-surface-2); color: var(--nt-text-2); font-size: 13px; font-weight: 650; line-height: 1; cursor: pointer; transition: border-color .14s, color .14s; }
.nt .btn:hover { border-color: var(--nt-brand); color: var(--nt-brand-hi); }
.nt .btn i { color: inherit; }
.nt-search { display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin: 0; }
.nt-search input[type="text"] { width: 260px; max-width: 100%; height: 36px; padding: 0 12px; border: 1px solid var(--nt-border); border-radius: 8px;
	background: var(--nt-surface-2); color: var(--nt-text); font-size: 13px; }
.nt-search input[type="text"]::placeholder { color: var(--nt-muted); }
.nt-search input[type="text"]:focus { border-color: var(--nt-brand); outline: none; box-shadow: 0 0 0 3px rgba(var(--nt-brand-rgb), .18); }
.nt .nt-search button.btn { min-height: 36px; padding: 0 16px; line-height: 1; border-color: var(--nt-brand); background: var(--nt-brand); color: var(--nt-on-brand); font-weight: 700; }
.nt .nt-search .btn:hover { border-color: var(--nt-brand-hi); background: var(--nt-brand-hi); color: var(--nt-on-brand); }
.nt .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; border: 0; background: none; }
.nt .pagination a, .nt .pagination strong { min-width: 34px; height: 34px; padding: 0 11px; border: 1px solid var(--nt-border); border-radius: 8px;
	background: var(--nt-surface); color: var(--nt-text-2); font-size: 13px; line-height: 32px; text-align: center; }
.nt .pagination a:hover { border-color: var(--nt-brand); background: var(--nt-tint); color: var(--nt-brand-hi); }
.nt .pagination strong { border-color: var(--nt-brand); background: var(--nt-brand); color: var(--nt-on-brand); font-weight: 700; }

/* 상세 — 세로 스크롤 만화 */
.nt-read { padding-top: 14px; }
/* 상세 상단 에디토리얼 헤더: [아이콘 NEWSTOON ........ 등록일] / 제목 / 얇은 보라 구분선. 사이트 공통 콘텐츠 폭을 그대로 쓴다(820px 제한은 만화 이미지 영역만). */
/* 상세: 제목 → 작은 등록일 → 만화 이미지를 960px 한 칸으로. 프레임·배지·장식 없이 이미지 중심. */
.nt-viewer { max-width: 960px; margin: 0 auto; }
.nt-read-info { padding: 4px 0 14px; }
.nt-read-title { margin: 0; color: var(--nt-text); font-size: 30px; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; word-break: keep-all; overflow-wrap: break-word; }
.nt-read-date { display: block; margin-top: 8px; color: var(--nt-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.nt-read-body { max-width: 960px; margin: 0 auto; overflow: hidden; border-radius: 10px; background: var(--nt-surface); color: var(--nt-text); font-size: 15px; line-height: 1.7; }
.nt-read-body img { display: block; width: 100%; max-width: 100%; height: auto !important; margin: 0 auto; }
.nt-read-body p { margin: 0 0 .9em; padding: 0 14px; }
.nt-read-body p:has(> img), .nt-read-body p:has(> a > img), .nt-read-body figure, .nt-read-body div:has(> img:only-child) { margin: 0; padding: 0; line-height: 0; font-size: 0; }
.nt-read-body p:has(> img) br { display: none; }
.nt-read-body .secretForm { padding: 24px 14px; }

.nt-source { max-width: 960px; margin-left: auto; margin-right: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin-top: 14px; padding: 12px 14px;
	border: 1px solid var(--nt-border); border-radius: 12px; background: var(--nt-surface); }
.nt-source-refs { min-width: 0; flex: 1 1 260px; }
.nt-source h2 { margin: 0 0 6px; color: var(--nt-text-2); font-size: 12.5px; font-weight: 750; }
.nt-source ul { margin: 0; padding: 0; list-style: none; }
.nt-source li + li { margin-top: 4px; }
.nt-source li a { color: var(--nt-brand-hi); font-size: 13px; word-break: break-all; }
.nt-source li a:hover { color: var(--nt-text); text-decoration: underline; }
/* 첨부 목록 UI는 숨긴다(첨부·본문 이미지·다운로드 처리는 그대로) */
.nt-read .nt-files { display: none; }

/* 하단: 수정·삭제(왼쪽) · 목록으로(오른쪽) */
.nt-read-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--nt-border); }
.nt-list-btn { display: inline-flex; align-items: center; padding: 7px 14px; border: 1px solid var(--nt-border); border-radius: 8px; background: var(--nt-surface-2);
	color: var(--nt-text-2); font-size: 12.5px; font-weight: 700; transition: border-color .14s, color .14s; }
.nt-list-btn:hover { border-color: var(--nt-brand); color: var(--nt-brand-hi); }
.nt-admin { display: flex; gap: 8px; margin-left: auto; }

@media (max-width: 1099px) {
	.nt-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
}
@media (max-width: 767px) {
	.nt-feed { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 720px) {
	.nt { padding: 0 0 8px; }
	.nt-empty { margin-bottom: 0; }
	.nt-head { gap: 10px; padding: 12px 14px; }
	.nt-head-icon { flex-basis: 38px; width: 38px; height: 38px; border-radius: 10px; }
	.nt-head-icon svg { width: 22px; height: 22px; }
	.nt-head h1 { font-size: 20px; }
	.nt-head p { font-size: 12px; }
	.nt-head-top { flex-wrap: wrap; }
	.nt-head .nt-head-text { flex: 1 1 0; }
	.nt-head .nt-head-search { flex: 1 1 100%; margin-left: 0; }
	.nt-head .nt-head-search input[type="text"] { flex: 1 1 0; width: auto; min-width: 0; }
	.nt-head .nt-head-search { gap: 6px; }
	.nt-head .nt-head-search .nt-search-reset { flex: 0 0 auto; font-size: 12px; }
	.nt-title { font-size: 16px; min-height: 0; }
	.nt-read-info { padding: 2px 0 12px; }
	.nt-read-foot { margin-top: 14px; padding-top: 12px; }
	.nt-read-date { margin-top: 6px; font-size: 12.5px; }
	.nt-read-title { font-size: 24px; }
	.nt-source { padding: 12px; }
	.nt-search { flex: 1 1 100%; }
	.nt-search input[type="text"] { flex: 1 1 auto; width: auto; }
}

/* 뉴스툰 상세 댓글 — 다크 네이비·퍼플 (body.rt-newstoon 안의 #comment 로만 한정) */
body.rt-newstoon #comment { --c-bg: #0f1a2e; --c-bg2: #16233d; --c-line: #263556; --c-text: #f7f7fa; --c-text2: #aab1c7; --c-brand: #956bff; --c-brand-hi: #b49aff;
	max-width: 960px; margin: 0 auto; padding: 0 0 36px; color: var(--c-text); }
body.rt-newstoon #comment .fbHeader { margin: 0 0 14px; padding: 0 0 10px; border: 0; border-bottom: 1px solid var(--c-line); }
body.rt-newstoon #comment .fbHeader h2 { margin: 0; color: var(--c-text); font-size: 17px; font-weight: 800; }
body.rt-newstoon #comment .fbHeader h2 i { color: var(--c-brand-hi); }
body.rt-newstoon #comment .fbHeader h2 em { margin-left: 4px; color: var(--c-brand-hi); font-style: normal; }
body.rt-newstoon #comment .fbItem { border-color: var(--c-line); color: var(--c-text); }
body.rt-newstoon #comment .fbMeta .author a, body.rt-newstoon #comment .fbMeta .author strong { color: var(--c-text); }
body.rt-newstoon #comment .time, body.rt-newstoon #comment .action a { color: var(--c-text2); }
body.rt-newstoon #comment .action a:hover { color: var(--c-brand-hi); }
body.rt-newstoon #comment .xe_content, body.rt-newstoon #comment .rhymix_content { color: var(--c-text); }
/* 로그인 회원에게 알림센터(ncenterlite.js)의 ncenterlite_highlight() 가 '#comment_번호' 진입 시 해당 댓글 본문 상자(div.comment_번호_회원번호)의 inline background-color 를 노랑(255,255,60)에서 약 0.75초간 갈아 끼운다. 그 상자 한 겹만 막는다 — 안쪽 사용자 서식은 건드리지 않고, 모듈 JS·다른 게시판은 그대로. 이동 동작은 유지. */
body.rt-newstoon #comment .fbItem > .rhymix_content.xe_content { background-color: transparent !important; }
/* 에디터 */
body.rt-newstoon #comment .write_comment { margin-top: 14px; }
body.rt-newstoon #comment .cke_chrome { border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-bg); box-shadow: none; overflow: hidden; }
body.rt-newstoon #comment .cke_inner, body.rt-newstoon #comment .cke_contents { background: var(--c-bg); }
body.rt-newstoon #comment .cke_top, body.rt-newstoon #comment .cke_bottom { border-color: var(--c-line); background: var(--c-bg2); box-shadow: none; }
body.rt-newstoon #comment .cke_toolbar_separator { background: var(--c-line); }
/* 툴바 글자(글꼴·크기·소스)는 밝은 회색, 아이콘은 모두 같은 밝기로 통일(원본 스프라이트의 알파만 쓰고 흰색으로 칠한다) */
/* CKEditor 자동 다크 모드(.color_scheme_dark.cke_auto_dark_mode)는 툴바 글자·화살표에 filter: invert(1) 을 건다. 이 툴바는 이미 어두운 배경에 밝은 글자라 그대로 두면 글자가 어두워진다 → 이 댓글 툴바에서만 끈다. */
body.rt-newstoon #comment .cke_top .cke_combo_button, body.rt-newstoon #comment .cke_top .cke_button_arrow, body.rt-newstoon #comment .cke_top .cke_button_label { filter: none; }
body.rt-newstoon #comment .cke_path_item { color: #cbd5e1; }
body.rt-newstoon #comment .cke_combo_text, body.rt-newstoon #comment .cke_combo_open { color: #dce6f5; }
body.rt-newstoon #comment .cke_button_label { color: #c4b5fd; }
body.rt-newstoon #comment .cke_button_icon { filter: brightness(0) invert(1); opacity: .8; }
body.rt-newstoon #comment .cke_button:hover .cke_button_icon, body.rt-newstoon #comment .cke_button:focus .cke_button_icon, body.rt-newstoon #comment .cke_button_on .cke_button_icon { opacity: 1; }
body.rt-newstoon #comment .cke_button_disabled .cke_button_icon, body.rt-newstoon #comment .cke_button_disabled .cke_button_label { opacity: .35; }
body.rt-newstoon #comment .cke_combo_arrow, body.rt-newstoon #comment .cke_button_arrow { border-top-color: #dce6f5; }
body.rt-newstoon #comment .cke_combo_button:hover .cke_combo_text, body.rt-newstoon #comment .cke_combo_button:focus .cke_combo_text, body.rt-newstoon #comment .cke_button:hover .cke_button_label, body.rt-newstoon #comment .cke_button:focus .cke_button_label { color: #fff; }
body.rt-newstoon #comment .cke_combo_button:hover .cke_combo_arrow, body.rt-newstoon #comment .cke_combo_button:focus .cke_combo_arrow { border-top-color: #fff; }
body.rt-newstoon #comment .cke_button:focus, body.rt-newstoon #comment .cke_combo_button:focus { background: rgba(149, 107, 255, .18); outline: 1px solid rgba(149, 107, 255, .55); }
/* 글꼴·크기 드롭다운(패널은 body 바로 아래에 붙는다) — 뉴스툰 화면의 body 에서만 */
body.rt-newstoon:has(#comment) .cke_combopanel { border-color: #263556; background: #0f1a2e; box-shadow: 0 6px 18px rgba(0, 0, 0, .45); }
body.rt-newstoon:has(#comment) .cke_combopanel iframe { filter: invert(.9) hue-rotate(180deg); }
body.rt-newstoon #comment .cke_button:hover, body.rt-newstoon #comment .cke_button.cke_button_on, body.rt-newstoon #comment .cke_combo_button:hover { background: rgba(149, 107, 255, .18); border-color: transparent; }
body.rt-newstoon #comment .cke_combo_button { border-color: transparent; background: transparent; }
body.rt-newstoon #comment .cke_toolbar_expand, body.rt-newstoon #comment .cke_toolbox_collapser { background-color: var(--c-bg2); border-color: var(--c-line); }
body.rt-newstoon #comment .cke_resizer { border-bottom-color: var(--c-text2); }
/* 첨부 업로드 영역 */
body.rt-newstoon #comment .xefu-container { border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-bg); color: var(--c-text2); }
body.rt-newstoon #comment .xefu-dropzone { background: var(--c-bg2); color: var(--c-text2); }
body.rt-newstoon #comment .xefu-btn, body.rt-newstoon #comment .xefu-container input.xefu-btn { border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-bg); color: var(--c-text2); }
body.rt-newstoon #comment .xefu-btn span, body.rt-newstoon #comment .xefu-btn i { color: inherit; }
body.rt-newstoon #comment .xefu-btn:hover { border-color: var(--c-brand); color: var(--c-brand-hi); }
body.rt-newstoon #comment .xefu-controll, body.rt-newstoon #comment .xefu-list { color: var(--c-text2); }
/* 비회원 입력칸 · 알림 · 등록 버튼 */
body.rt-newstoon #comment .write_author { margin: 10px 0; color: var(--c-text2); }
body.rt-newstoon #comment .write_author .iLabel, body.rt-newstoon #comment .write_author label { color: var(--c-text2); }
body.rt-newstoon #comment .write_author input.iText { height: 36px; padding: 0 12px; border: 1px solid var(--c-line); border-radius: 8px; background: transparent; color: var(--c-text); }
body.rt-newstoon #comment .write_author input.iText::placeholder { color: #8791ad; }
body.rt-newstoon #comment .write_author input.iText:focus { border-color: var(--c-brand); outline: none; box-shadow: 0 0 0 3px rgba(149, 107, 255, .18); }
body.rt-newstoon #comment .btn_insert { height: auto; min-height: 38px; padding: 0 18px; border: 1px solid var(--c-brand); border-radius: 8px; background: var(--c-brand); color: #101322; font-size: 13.5px; font-weight: 750; cursor: pointer; transition: background-color .14s; }
body.rt-newstoon #comment .btn_insert:hover { border-color: var(--c-brand-hi); background: var(--c-brand-hi); }
body.rt-newstoon #comment .btn_insert i { color: inherit; }
body.rt-newstoon #comment .pagination a, body.rt-newstoon #comment .pagination strong { border-color: var(--c-line); background: var(--c-bg); color: var(--c-text2); }
body.rt-newstoon #comment .pagination strong { border-color: var(--c-brand); background: var(--c-brand); color: #101322; }
@media (max-width: 720px) {
	body.rt-newstoon #comment { margin-top: 0; }
	body.rt-newstoon #comment .write_author input.iText { width: 100%; margin-bottom: 6px; }
}

/* ── 댓글 리뉴얼: 모던 커뮤니티형 목록 + 정돈된 작성창 (body.rt-newstoon #comment 안에서만) ── */
body.rt-newstoon #comment { --c-muted: #8791ad; }
body.rt-newstoon #comment.feedback { margin: 0 auto; }
body.rt-newstoon #comment .fbHeader { display: flex; align-items: center; height: auto; line-height: 1.4; padding: 0 0 14px; border-top: 0; }
body.rt-newstoon #comment .fbHeader h2 { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; }
/* 목록: [프로필 40px | 작성자 | 날짜] / 본문 / 반응 버튼 — 프로필이 세 줄에 걸친다 */
body.rt-newstoon #comment .fbList { margin: 0; padding: 0; }
body.rt-newstoon #comment .fbItem { display: grid; grid-template-columns: 40px auto minmax(0, 1fr); column-gap: 12px; row-gap: 6px; align-items: center;
	margin: 0; padding: 18px 0; background: none; border-bottom: 1px solid var(--c-line); }
body.rt-newstoon #comment .fbItem:last-child { border-bottom: 0; }
body.rt-newstoon #comment .fbItem::after { display: none; }
body.rt-newstoon #comment .fbItem.indent { padding-left: 0; background: none; }
body.rt-newstoon #comment .fbItem.indent1 { margin-left: 34px; }
body.rt-newstoon #comment .fbItem.indent2 { margin-left: 68px; }
body.rt-newstoon #comment .fbItem.indent:is(.indent3, .indent4, .indent5, .indent6, .indent7, .indent8, .indent9, .indent10, .indent11, .indent12) { margin-left: 102px; }
body.rt-newstoon #comment .fbMeta { display: contents; }
body.rt-newstoon #comment .fbMeta .profile { grid-column: 1; grid-row: 1 / span 3; align-self: start; float: none; width: 40px; height: 40px; margin: 0; border-radius: 50%; object-fit: cover;
	background: var(--c-bg2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aab1c7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M5 20c.8-3.6 3.6-5.4 7-5.4s6.2 1.8 7 5.4'/%3E%3C/svg%3E") center / 56% no-repeat; }
body.rt-newstoon #comment .fbMeta img.profile { background: var(--c-bg2); }
body.rt-newstoon #comment .fbMeta .author { grid-column: 2; grid-row: 1; margin: 0; font-size: 14.5px; font-weight: 750; line-height: 1.4; }
body.rt-newstoon #comment .fbMeta .time { grid-column: 3; grid-row: 1; margin: 0; color: var(--c-muted); font-size: 12px; line-height: 1.4; }
body.rt-newstoon #comment .fbItem > .xe_content, body.rt-newstoon #comment .fbItem > .rhymix_content, body.rt-newstoon #comment .fbItem > .secretForm { grid-column: 2 / -1; grid-row: 2; margin: 0; padding: 0; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
body.rt-newstoon #comment .fbItem > .deleted { color: var(--c-muted); font-style: italic; }
body.rt-newstoon #comment .fbItem > .fileList { grid-column: 2 / -1; margin: 0; }
body.rt-newstoon #comment .fbItem > .action { grid-column: 2 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; float: none; margin: 0 0 0 -9px; padding: 0; white-space: normal; }
body.rt-newstoon #comment .action a { display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 4px 9px; border-radius: 6px; background: none; color: var(--c-text2); font-size: 12.5px; text-decoration: none; transition: background-color .14s, color .14s; }
body.rt-newstoon #comment .action a i { font-size: 13px; color: inherit; }
body.rt-newstoon #comment .action a:hover { background: rgba(149, 107, 255, .14); color: var(--c-text); }
body.rt-newstoon #comment .action a[onclick*="VoteDown"] i { transform: scaleY(-1); }
body.rt-newstoon #comment .action a.modify { margin-left: auto; }
body.rt-newstoon #comment .action a.modify, body.rt-newstoon #comment .action a.delete { color: var(--c-muted); }
body.rt-newstoon #comment .action a.modify + a.delete::before { content: "·"; margin-right: 6px; color: var(--c-line); }
body.rt-newstoon #comment .action a.this { margin: 0; text-decoration: none; }
/* 작성창 */
body.rt-newstoon #comment .write_comment { margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--c-line); }
body.rt-newstoon #comment .nt-cm-write-title { margin: 0 0 12px; color: var(--c-text); font-size: 15px; font-weight: 800; }
body.rt-newstoon #comment .cke_chrome { border-radius: 10px 10px 0 0; }
body.rt-newstoon #comment .xefu-container { margin-top: -1px; border-radius: 0 0 10px 10px; }
body.rt-newstoon #comment .xefu-dropzone { padding: 10px 14px; }
body.rt-newstoon #comment .write_author { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 0; }
body.rt-newstoon #comment .write_author .item { position: relative; display: inline-block; margin: 0; }
body.rt-newstoon #comment .write_author input.iText { box-sizing: border-box; width: 160px; }
body.rt-newstoon #comment .write_comment > div[style*="float"] { float: right !important; margin-top: 12px; }
body.rt-newstoon #comment .write_comment::after { content: ""; display: block; clear: both; }
@media (max-width: 720px) {
	body.rt-newstoon #comment .fbItem { grid-template-columns: 34px auto minmax(0, 1fr); column-gap: 10px; padding: 14px 0; }
	body.rt-newstoon #comment .fbMeta .profile { width: 34px; height: 34px; }
	body.rt-newstoon #comment .fbItem.indent1 { margin-left: 22px; }
	body.rt-newstoon #comment .fbItem.indent2 { margin-left: 44px; }
	body.rt-newstoon #comment .fbItem.indent:is(.indent3, .indent4, .indent5, .indent6, .indent7, .indent8, .indent9, .indent10, .indent11, .indent12) { margin-left: 66px; }
	body.rt-newstoon #comment .fbItem > .xe_content, body.rt-newstoon #comment .fbItem > .rhymix_content { font-size: 14.5px; }
	body.rt-newstoon #comment .action a { padding: 4px 6px; gap: 4px; font-size: 12px; }
	body.rt-newstoon #comment .action a.modify + a.delete::before { display: none; }
	body.rt-newstoon #comment .write_author { float: none; width: 100%; }
	body.rt-newstoon #comment .write_author input.iText { width: 100%; }
	body.rt-newstoon #comment .write_author .item { display: block; width: 100%; }
}

/* 인라인 답글 작성창 */
body.rt-newstoon #comment .nt-cm-cancel { display: none; height: auto; min-height: 38px; margin-right: 8px; padding: 0 16px; border: 1px solid var(--c-line); border-radius: 8px; background: transparent; color: var(--c-text2); font-size: 13.5px; font-weight: 650; cursor: pointer; }
body.rt-newstoon #comment .nt-cm-cancel:hover { border-color: var(--c-brand); color: var(--c-text); }
body.rt-newstoon #comment .write_comment.is-reply { z-index: 2; margin-top: 0; padding: 14px 16px 12px; border: 1px solid var(--c-line); border-left: 3px solid var(--c-brand); border-radius: 10px; background: rgba(149, 107, 255, .05); }
body.rt-newstoon #comment .write_comment.is-reply .nt-cm-cancel { display: inline-flex; align-items: center; }
body.rt-newstoon #comment .write_comment > div[style*="float"] { display: flex; align-items: center; }
@media (max-width: 720px) { body.rt-newstoon #comment .write_comment.is-reply { padding: 12px 10px 10px; } }

/* ── 댓글 계층: 답글(깊이 1 이상)은 프로필 왼쪽에 꺾인 화살표 ↳ 하나만. 깊이가 깊을수록 한 단계씩 더 들여쓰고 화살표도 같이 이동한다. ── */
body.rt-newstoon #comment .fbItem { position: relative; }
body.rt-newstoon #comment .fbItem.has-parent::before { content: "\21B3"; position: absolute; left: -26px; top: 22px; width: 20px; color: #7f8bad; font-size: 18px; line-height: 1; text-align: right; pointer-events: none; }
@media (max-width: 720px) { body.rt-newstoon #comment .fbItem.has-parent::before { left: -19px; top: 18px; width: 16px; font-size: 16px; } }

/* 신고 버튼: 사이렌 아이콘 + 신고. 수정·삭제 뒤, 같은 액션 줄의 오른쪽 */
body.rt-newstoon #comment .action a.nt-cm-report { margin-left: auto; color: #fb7185; }
body.rt-newstoon #comment .action a.modify ~ a.nt-cm-report { margin-left: 0; }
/* 사이렌 아이콘(Lucide siren 모양) — 템플릿 파서가 <path> 를 <p> 로 오인하므로 CSS 마스크로 그린다. 색은 글자색(currentColor)을 따른다. */
body.rt-newstoon #comment .nt-cm-siren { display: block; flex: 0 0 auto; width: 14px; height: 14px; background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18v-6a5 5 0 1 1 10 0v6'/%3E%3Cpath d='M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z'/%3E%3Cpath d='M21 12h1'/%3E%3Cpath d='M18.5 4.5 18 5'/%3E%3Cpath d='M2 12h1'/%3E%3Cpath d='M12 2v1'/%3E%3Cpath d='m4.929 4.929.707.707'/%3E%3Cpath d='M12 12v6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18v-6a5 5 0 1 1 10 0v6'/%3E%3Cpath d='M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z'/%3E%3Cpath d='M21 12h1'/%3E%3Cpath d='M18.5 4.5 18 5'/%3E%3Cpath d='M2 12h1'/%3E%3Cpath d='M12 2v1'/%3E%3Cpath d='m4.929 4.929.707.707'/%3E%3Cpath d='M12 12v6'/%3E%3C/svg%3E") center / contain no-repeat; }
body.rt-newstoon #comment .action a.nt-cm-report:hover { background: rgba(251, 113, 133, .12); color: #fda4af; }
body.rt-newstoon #comment .action a.modify + a.delete + a.nt-cm-report::before { display: none; }

/* 내가 누른 추천·비추천 표시 */
body.rt-newstoon #comment .action a.voted.is-on { color: var(--c-brand-hi, #b49aff); background: rgba(149, 107, 255, .14); }

/* 댓글 삭제 확인 팝업 */
.nt-del-wrap { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(5, 12, 24, .62); }
.nt-del-box { box-sizing: border-box; width: min(380px, 100%); padding: 26px 24px 22px; border: 1px solid #263556; border-radius: 16px; background: #0f1a2e; color: #f7f7fa; box-shadow: 0 12px 32px rgba(0, 0, 0, .4); }
.nt-del-msg { margin: 0 0 22px; font-size: 18px; font-weight: 700; line-height: 1.4; text-align: center; }
.nt-del-btns { display: flex; gap: 10px; justify-content: center; }
.nt-del-btns button { min-width: 96px; height: 44px; padding: 0 18px; border-radius: 10px; font-size: 15px; font-weight: 700; line-height: 1; cursor: pointer; }
.nt-del-cancel { border: 1px solid #263556; background: #16233d; color: #f7f7fa; }
.nt-del-cancel:hover { border-color: #8b5cf6; }
.nt-del-ok { border: 1px solid #e5484d; background: #e5484d; color: #fff; }
.nt-del-ok:hover { background: #cf3a3f; border-color: #cf3a3f; }
.nt-del-btns button:focus-visible { outline: 2px solid #b49aff; outline-offset: 2px; }
@media (max-width: 420px) { .nt-del-box { padding: 22px 18px 18px; } .nt-del-btns button { flex: 1 1 0; min-width: 0; } }

/* 관리 권한자 일괄삭제(rt-bulk.js): 카드 이미지 왼쪽 위 체크박스 + 상단 버튼 */
.nt-chk { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; border-radius: 8px; background: rgba(15, 26, 46, .72); cursor: pointer; }
.nt-chk-input { width: 18px; height: 18px; margin: 0; accent-color: #8b5cf6; cursor: pointer; }
.nt-feed > li.is-picked .nt-thumb { outline: 3px solid #8b5cf6; outline-offset: -3px; }
.nt-bulk { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nt-bulk .nt-bulk-del:not(:disabled) { border-color: #e5484d; background: #e5484d; color: #fff; }
.nt-bulk .nt-bulk-del:disabled { opacity: .55; cursor: default; }
@media (max-width: 767px) { .nt-chk { top: 8px; left: 8px; width: 32px; height: 32px; } .nt-chk-input { width: 20px; height: 20px; } }

/* ═══════════════════════════════════════════════════════════
   목록 V2 — 이미지 카드형(.nt-list). /rank·/feed·/top3 V2 와 같은 다크 네이비·퍼플 값. 상세(.nt-read)는 건드리지 않는다.
   ═══════════════════════════════════════════════════════════ */
.nt-list .nt-head { gap: 14px; padding: 18px 22px; border-color: rgba(149, 107, 255, .3); border-radius: 16px;
	background: radial-gradient(60% 140% at 78% 0%, rgba(149, 107, 255, .3), transparent 62%), radial-gradient(40% 90% at 8% 100%, rgba(70, 120, 255, .14), transparent 70%), linear-gradient(120deg, #171a42, #0b1030 62%);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .06); }
.nt-list .nt-head-icon { border-radius: 14px; background: linear-gradient(145deg, rgba(149, 107, 255, .34), rgba(149, 107, 255, .1)); box-shadow: 0 0 22px rgba(149, 107, 255, .28); color: #d8c6ff; }
.nt-list .nt-head h1 { font-size: 26px; font-weight: 900; letter-spacing: -.3px; }
.nt-list .nt-head p { font-size: 14px; }
.nt-list .nt-chip[aria-current="true"] { background: #956bff; }
.nt-list .nt-feed { gap: 18px; }
.nt-list .nt-feed > li { overflow: hidden; border: 1px solid rgba(149, 107, 255, .3); border-radius: 14px;
	background: linear-gradient(180deg, rgba(13, 19, 46, .96), rgba(8, 13, 34, .98)); transition: border-color .15s, box-shadow .15s; }
.nt-list .nt-feed > li:hover { border-color: rgba(149, 107, 255, .65); box-shadow: 0 10px 28px rgba(0, 0, 0, .35), 0 0 0 1px rgba(149, 107, 255, .18); }
.nt-list .nt-thumb { border-radius: 0; background: #0b1030; }
.nt-list .nt-thumb img { object-position: center top; }
.nt-list .nt-item-body { gap: 0; padding: 12px 14px 12px; }
.nt-list .nt-title { font-size: 16px; font-weight: 800; line-height: 1.35; }
.nt-list .nt-item-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 8px; border-top: 1px solid rgba(149, 107, 255, .14); }
.nt-list .nt-title { margin-bottom: 8px; }
.nt-list .nt-item-date { color: var(--nt-muted); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.nt-list .nt-item-go { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid rgba(149, 107, 255, .45); border-radius: 50%; background: rgba(149, 107, 255, .12); color: #d8c6ff; transition: background .15s; }
.nt-list .nt-item:hover .nt-item-go { background: rgba(149, 107, 255, .3); }
.nt-list .nt-chk { background: rgba(8, 13, 34, .8); border: 1px solid rgba(149, 107, 255, .45); }
.nt-list .nt-feed > li.is-picked { border-color: #956bff; box-shadow: 0 0 0 2px rgba(149, 107, 255, .5); }
.nt-list .nt-feed > li.is-picked .nt-thumb { outline: 0; }
.nt-list .nt-bar { padding: 10px 14px; border: 1px solid rgba(149, 107, 255, .3); border-radius: 12px; background: rgba(13, 19, 46, .7); }
.nt-list .nt-foot { margin-top: 28px; }
@media (max-width: 720px) { .nt-list .nt-head { padding: 14px; } .nt-list .nt-head h1 { font-size: 22px; } .nt-list .nt-item-body { padding: 12px 14px; } .nt-list .nt-title { font-size: 16px; } }

/* PC(≥1024px) 색상 통일 — 뉴스툰 검색창을 랭킹·피드 입력창과 같은 퍼플 다크 톤으로. */
@media (min-width: 1024px) {
	/* 세그먼트 컨트롤: 어두운 트랙 안의 칩 · 활성 퍼플 그라데이션 · 퍼플 조명 hover */
	html:root .nt .nt-datebar { display: inline-flex; align-self: flex-start; gap: 4px; padding: 3px; border: 1px solid; border-radius: 999px; border-color:rgba(149,107,255,.28); background:linear-gradient(rgba(14,18,48,.9),rgba(9,13,36,.95)); box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 6px 16px rgba(0,0,0,.22); }
	html:root .nt .nt-chip { transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease; }
	html:root .nt .nt-chip:not([aria-current="true"]) { border-color:transparent; background:transparent; color:#cfc6ee; }
	html:root .nt .nt-chip:not([aria-current="true"]):hover { border-color:rgba(149,107,255,.35); background:rgba(149,107,255,.16); color:#fff; box-shadow:inset 0 0 12px rgba(149,107,255,.18); }
	html:root .nt .nt-chip[aria-current="true"] { border-color:rgba(190,165,255,.5); background:linear-gradient(180deg,#9b79ff,#7549eb); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 12px rgba(117,73,235,.38); }
	html:root .nt .nt-chip[aria-current="true"]:hover { background:linear-gradient(180deg,#a888ff,#8157f2); box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 6px 16px rgba(117,73,235,.5); }
	html:root .nt-search input[type="text"] { border-color:rgba(149,107,255,.28); background:rgba(149,107,255,.07); transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease; }
	html:root .nt-search input[type="text"]:focus { border-color: #956BFF; box-shadow: 0 0 0 3px rgba(149, 107, 255, .2); }
	html:root .nt .nt-search .nt-search-btn { border-color:rgba(190,165,255,.5); background:linear-gradient(180deg,#9b79ff,#7549eb); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 12px rgba(117,73,235,.38); transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease; }
	html:root .nt .nt-search .nt-search-btn:hover { background:linear-gradient(180deg,#a888ff,#8157f2); box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 6px 16px rgba(117,73,235,.5); border-color: rgba(190, 165, 255, .5); color: #fff; }
	html:root .nt .pagination a, html:root .nt .pagination strong { transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease; }
	html:root .nt .pagination a { border-color: rgba(149, 107, 255, .18); background: rgba(149, 107, 255, .06); color: #cfc6ee; }
	html:root .nt .pagination a:hover { border-color:rgba(149,107,255,.35); background:rgba(149,107,255,.16); color:#fff; box-shadow:inset 0 0 12px rgba(149,107,255,.18); }
	html:root .nt .pagination strong { border-color:rgba(190,165,255,.5); background:linear-gradient(180deg,#9b79ff,#7549eb); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 12px rgba(117,73,235,.38); }
	/* 뉴스툰 목록 콘텐츠 바탕 — 회원 페이지·랭킹과 같은 #0D122C + 퍼플 .28 테두리. 상위 칸이 overflow:hidden 이라 바깥으로 내밀지 않고 칸 안에서 패딩만 둔다. 읽기 화면(_read)의 .nt 는 `.nt-list` 가 아니라 걸리지 않는다. */
	html:root .nt.nt-list { padding: 12px 8px; border: 1px solid rgba(149, 107, 255, .28); border-radius: 18px; background: #0d122c; }
}
