// ─────────────────────────────────────────────────────────────
// /chat — 메인 실시간 채팅 (d2-community §⑤, roomKey=main)
// 색/치수는 app/styles/tokens 변수만 사용 (하드코딩 금지)
// .main(그리드 스크롤 컨테이너)을 height:100% 로 채워 mobile/desktop 모두 전체 높이 사용
// 데스크톱 중앙 컬럼 최대폭 제한 없음 (WIDE fluid — d6 §4)
// ─────────────────────────────────────────────────────────────
#chat-room {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
	padding: var(--sp-4) var(--sp-5);
	gap: var(--sp-3);

	@media (max-width: 767.98px) {
		padding: var(--sp-3);
	}

	.chat-room__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: var(--sp-3);

		h1 {
			font-size: var(--fs-xl);
			font-weight: 700;
			color: var(--text-primary);
		}
	}

	.chat-room__meta {
		display: flex;
		align-items: center;
		gap: var(--sp-4);
		font-size: var(--fs-sm);
		color: var(--text-secondary);
	}

	.chat-room__count {
		display: inline-flex;
		align-items: center;
		gap: var(--sp-2);
		font-variant-numeric: tabular-nums;
	}

	.chat-room__state {
		color: var(--text-muted);

		&--warn {
			color: var(--az-accent);
		}

		&--error {
			color: var(--color-danger);
		}
	}

	.chat-room__notice {
		display: flex;
		align-items: center;
		gap: var(--sp-3);
		padding: var(--sp-3) var(--sp-4);
		background: var(--bg-subtle);
		border: 1px solid var(--border-default);
		border-radius: var(--radius);
		font-size: var(--fs-sm);
		color: var(--text-secondary);

		svg {
			flex-shrink: 0;
			color: var(--az-accent);
		}
	}

	.chat-room__body {
		position: relative;
		display: flex;
		flex: 1;
		min-height: 0;
	}

	.chat-room__messages {
		flex: 1;
		min-height: 0;
		overflow-y: auto;
		padding: var(--sp-3);
		background: var(--bg-elevated);
		border: 1px solid var(--border-default);
		border-radius: var(--radius);
	}

	.chat-room__empty {
		padding: var(--sp-6) var(--sp-4);
		text-align: center;
		font-size: var(--fs-sm);
		color: var(--text-muted);
	}

	.chat-room__message {
		display: flex;
		align-items: baseline;
		gap: var(--sp-3);
		padding: var(--sp-2) var(--sp-3);
		font-size: var(--fs-base);
		line-height: 1.5;
		border-radius: var(--radius);

		&:hover {
			background: var(--bg-subtle-hover);
		}
	}

	.chat-room__time {
		flex-shrink: 0;
		font-size: var(--fs-2xs);
		color: var(--text-muted);
		font-variant-numeric: tabular-nums;
	}

	.chat-room__badge {
		flex-shrink: 0;
		align-self: center;
		width: var(--sp-5);
		height: var(--sp-5);
		object-fit: contain;
	}

	.chat-room__name {
		flex-shrink: 0;
		font-weight: 600;
		color: var(--title-color, var(--text-secondary));
	}

	.chat-room__content {
		color: var(--text-primary);
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	// 시스템 메시지 — 일반 메시지와 스타일 구분
	.chat-room__system {
		padding: var(--sp-2) var(--sp-3);
		text-align: center;
		font-size: var(--fs-xs);
		font-style: italic;
		color: var(--text-muted);
	}

	// "새 메시지 ↓" 점프 버튼 — 위로 스크롤 중 새 메시지 도착 시 노출
	.chat-room__jump {
		position: absolute;
		bottom: var(--sp-4);
		left: 50%;
		transform: translateX(-50%);
		display: inline-flex;
		align-items: center;
		gap: var(--sp-2);
		padding: var(--sp-2) var(--sp-4);
		background: var(--az-accent);
		color: var(--btn-primary-text);
		font-size: var(--fs-sm);
		font-weight: 600;
		border: none;
		border-radius: var(--fs-2xl);
		cursor: pointer;
		box-shadow: 0 var(--sp-1) var(--sp-3) var(--shadow-color);

		&:hover {
			background: var(--az-accent-hover);
		}
	}

	.chat-room__footer {
		display: flex;
		flex-direction: column;
		gap: var(--sp-2);
	}

	.chat-room__input-row {
		display: flex;
		gap: var(--sp-3);

		input {
			flex: 1;
			min-width: 0;
			padding: var(--sp-3) var(--sp-4);
			background: var(--bg-input);
			color: var(--text-primary);
			font-size: var(--fs-base);
			border: 1px solid var(--border-strong);
			border-radius: var(--radius);

			&::placeholder {
				color: var(--text-muted);
			}

			&:disabled {
				opacity: 0.6;
				cursor: not-allowed;
			}
		}

		button {
			flex-shrink: 0;
			min-width: var(--sp-7);
			padding: var(--sp-3) var(--sp-5);
			background: var(--az-accent);
			color: var(--btn-primary-text);
			font-size: var(--fs-base);
			font-weight: 600;
			border: none;
			border-radius: var(--radius);
			cursor: pointer;

			&:hover:not(:disabled) {
				background: var(--az-accent-hover);
			}

			&:disabled {
				background: var(--bg-subtle);
				color: var(--text-muted);
				cursor: not-allowed;
			}
		}
	}

	.chat-room__cooldown {
		font-variant-numeric: tabular-nums;
	}

	.chat-room__input-meta {
		display: flex;
		align-items: center;
		gap: var(--sp-4);
		font-size: var(--fs-xs);
		color: var(--text-muted);
	}

	.chat-room__cooldown-left {
		color: var(--az-accent);
		font-variant-numeric: tabular-nums;
	}

	.chat-room__counter {
		margin-left: auto;
		font-variant-numeric: tabular-nums;
	}

	// 게스트 CTA — 읽기는 가능, 입력 대신 로그인 유도
	.chat-room__guest {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: var(--sp-3);
		padding: var(--sp-4);
		background: var(--bg-subtle);
		border: 1px solid var(--border-default);
		border-radius: var(--radius);
		font-size: var(--fs-sm);
		color: var(--text-secondary);
	}

	.chat-room__login-cta {
		padding: var(--sp-2) var(--sp-5);
		background: var(--az-accent);
		color: var(--btn-primary-text);
		font-weight: 600;
		border-radius: var(--radius);

		&:hover {
			background: var(--az-accent-hover);
		}
	}

	.chat-room__blocked {
		padding: var(--sp-4);
		text-align: center;
		background: var(--color-danger-bg);
		border: 1px solid var(--color-danger-border);
		border-radius: var(--radius);
		font-size: var(--fs-sm);
		color: var(--color-danger);
	}
}