/*
Theme Name: K24
Description: Community-style theme for KPOP24hrs: notice bar, attendance, download cards and board list on the front page.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: k24
*/

:root {
	--k24-primary: #3b6fd9;
	--k24-primary-soft: #e9effb;
	--k24-red: #e5322d;
	--k24-text: #1f2329;
	--k24-muted: #8a9099;
	--k24-line: #e8eaee;
	--k24-bg: #ffffff;
	--k24-page: #f4f5f7;
	--k24-frame: 0 0 0 1px rgba(0, 0, 0, .04), 0 0 18px rgba(0, 0, 0, .08);
	--k24-footer: #1b2132;
	--k24-gold: #fbefa3;
	--k24-gold-num: #f6dc5b;
	--k24-silver: #eef0f3;
	--k24-silver-num: #dfe2e7;
	--k24-bronze: #fde3e6;
	--k24-bronze-num: #f9c9cf;
	--k24-width: 1200px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--k24-page);
	color: var(--k24-text);
	font-family: '나눔바른고딕', NanumBarunGothic, '나눔고딕', NanumGothic, 'Nanum Gothic', 'Segoe UI', 'Malgun Gothic', Dotum, Tahoma, Geneva, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
	font-size: 14px;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--k24-primary); }
img { max-width: 100%; height: auto; display: block; }
button { font: inherit; }

.k24-container {
	width: 100%;
	max-width: calc(var(--k24-width) + 32px);
	margin: 0 auto;
	padding: 0 16px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

/* ---------- Header ---------- */
.k24-header {
	background: var(--k24-footer);
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .k24-header { top: 32px; }

/* Light mode: the header shares the footer's dark bar, so its top-level text and controls go light.
   Drop-down panels (sub-menus, user menu, the mobile nav) stay white with dark text. */
:root:not([data-theme="dark"]) .k24-logo { color: #fff; }
:root:not([data-theme="dark"]) .k24-header .k24-icon-btn { color: #aab1c0; }
:root:not([data-theme="dark"]) .k24-header .k24-icon-btn:hover { background: rgba(255, 255, 255, .08); color: #fff; }
:root:not([data-theme="dark"]) .k24-header .k24-user { border-color: rgba(255, 255, 255, .18); }
:root:not([data-theme="dark"]) .k24-header button.k24-user { background: transparent; color: #fff; }
:root:not([data-theme="dark"]) .k24-header button.k24-user:hover,
:root:not([data-theme="dark"]) .k24-header button.k24-user[aria-expanded="true"] { border-color: rgba(255, 255, 255, .45); color: #fff; }
:root:not([data-theme="dark"]) .k24-header .k24-signup { color: #fff; }
:root:not([data-theme="dark"]) .k24-header .k24-login-btn { color: #aab1c0; }
:root:not([data-theme="dark"]) .k24-header .k24-signup:hover,
:root:not([data-theme="dark"]) .k24-header .k24-login-btn:hover { color: #c9d4ea; border-color: rgba(255, 255, 255, .45); }
@media (min-width: 901px) {
	:root:not([data-theme="dark"]) .k24-nav > ul > li > a { color: #d4d9e3; }
	:root:not([data-theme="dark"]) .k24-nav > ul > li > a:hover { color: #fff; }
	:root:not([data-theme="dark"]) .k24-nav > ul > .current-menu-item > a,
	:root:not([data-theme="dark"]) .k24-nav > ul > .current_page_item > a,
	:root:not([data-theme="dark"]) .k24-nav > ul > .current-cat > a,
	:root:not([data-theme="dark"]) .k24-nav > ul > .current-cat-parent > a,
	:root:not([data-theme="dark"]) .k24-nav > ul > .current-menu-ancestor > a { background: rgba(255, 255, 255, .1); color: #fff; }
}

.k24-header__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	height: 80px;
}

.k24-logo {
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.5px;
	white-space: nowrap;
	color: var(--k24-text);
}
.k24-logo span { color: var(--k24-primary); }
.k24-logo img { max-height: 36px; width: auto; }

.k24-nav { flex: 1; min-width: 0; }
.k24-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.k24-nav li { position: relative; }
.k24-nav a {
	display: block;
	padding: 6px 12px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.2px;
}
.k24-nav .current-menu-item > a,
.k24-nav .current_page_item > a,
.k24-nav .current-cat > a,
.k24-nav .current-cat-parent > a,
.k24-nav .current-menu-ancestor > a {
	background: var(--k24-primary-soft);
	color: var(--k24-primary);
}
.k24-nav .sub-menu,
.k24-nav .children {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 180px;
	background: #fff;
	border: 1px solid var(--k24-line);
	border-radius: 6px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
	padding: 6px;
	flex-direction: column;
	gap: 0;
}
.k24-nav li:hover > .sub-menu,
.k24-nav li:hover > .children,
.k24-nav li:focus-within > .sub-menu,
.k24-nav li:focus-within > .children { display: flex; }
.k24-nav .sub-menu a,
.k24-nav .children a { text-transform: none; }

.k24-tools {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto; /* Stays on the right when the menu is hidden (guests). */
}
.k24-icon-btn {
	width: 36px; height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	color: #50565f;
	background: none;
	border: 0;
	cursor: pointer;
}
.k24-icon-btn:hover { background: #f3f5f8; color: var(--k24-primary); }
.k24-icon-btn svg { width: 18px; height: 18px; }

.k24-user {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--k24-line);
	border-radius: 4px;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
}
.k24-user img { width: 18px; height: 18px; border-radius: 3px; }

.k24-menu-toggle { display: none; }

/* ---------- Main ---------- */
/* The content column is a framed sheet that runs from the header down to the footer. */
.k24-main { flex: 1; display: flex; }
.k24-main > .k24-container {
	background: var(--k24-bg);
	box-shadow: var(--k24-frame);
	padding-top: 26px;
	padding-bottom: 32px;
}
@media (min-width: 901px) {
	.k24-main > .k24-container { max-width: calc(var(--k24-width) + 60px); padding-left: 30px; padding-right: 30px; }
}

.k24-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	background: var(--k24-primary-soft);
	border-radius: 2px;
	margin-bottom: 22px;
}
.k24-badge {
	flex: none;
	display: inline-block;
	background: var(--k24-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 2px;
}
.k24-notice__title {
	flex: 1;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.k24-notice__date { color: var(--k24-muted); font-size: 12px; }

.k24-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 30px;
}

.k24-box {
	border: 1px solid var(--k24-line);
	padding: 18px 14px 14px;
	min-height: 168px;
}
.k24-box__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 14px;
}
.k24-box__title { margin: 0; font-size: 16px; font-weight: 700; }
.k24-more { font-size: 12px; color: var(--k24-muted); background: none; border: 0; padding: 0; cursor: pointer; }
.k24-more:hover { color: var(--k24-primary); }

/* attendance */
.k24-att__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	text-align: center;
}
.k24-att__stat + .k24-att__stat { border-left: 1px solid var(--k24-line); }
.k24-att__num { font-size: 26px; font-weight: 700; line-height: 1.2; }
.k24-att__num small { font-size: 13px; font-weight: 400; color: var(--k24-primary); margin-left: 4px; }
.k24-att__label { font-size: 12px; color: var(--k24-muted); }
.k24-att__total {
	text-align: center;
	font-size: 12px;
	color: var(--k24-muted);
	margin: 10px 0 8px;
}
.k24-att__total b { color: var(--k24-text); font-weight: 500; }
.k24-att__form { margin: 0; }
.k24-btn {
	display: block;
	width: 100%;
	text-align: center;
	background: var(--k24-primary);
	color: #fff;
	border: 0;
	padding: 8px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.k24-btn:hover { background: #2f5ec4; color: #fff; }
.k24-btn[disabled] { background: #a9bce6; cursor: default; }

.k24-att__book {
	display: none;
	margin-top: 12px;
	max-height: 200px;
	overflow: auto;
	border-top: 1px solid var(--k24-line);
	padding-top: 8px;
	font-size: 13px;
}
.k24-att__book.is-open { display: block; }
.k24-att__book ol { margin: 0; padding-left: 22px; }
.k24-att__book li { display: flex; justify-content: space-between; padding: 2px 0; }
.k24-att__book time { color: var(--k24-muted); font-size: 12px; }

/* king */
.k24-king { list-style: none; margin: 0; padding: 0; }
.k24-king li {
	display: flex;
	align-items: center;
	height: 30px;
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 13px;
}
.k24-king__rank {
	width: 24px;
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}
.k24-king__name { flex: 1; display: flex; align-items: center; gap: 6px; padding: 0 6px; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.k24-king__name img { width: 14px; height: 14px; border-radius: 2px; }
.k24-king__pt { font-size: 11px; padding-right: 8px; }
.k24-king .is-1 { background: var(--k24-gold); width: 100%; }
.k24-king .is-1 .k24-king__rank { background: var(--k24-gold-num); }
.k24-king .is-2 { background: var(--k24-silver); width: 82%; }
.k24-king .is-2 .k24-king__rank { background: var(--k24-silver-num); }
.k24-king .is-3 { background: var(--k24-bronze); width: 65%; }
.k24-king .is-3 .k24-king__rank { background: var(--k24-bronze-num); color: var(--k24-red); }
.k24-king .is-empty { background: #f7f8fa; color: var(--k24-muted); font-weight: 400; }

/* sections */
.k24-section { margin-bottom: 26px; }
.k24-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 10px;
}
.k24-section__title { margin: 0; font-size: 16px; font-weight: 700; }
.k24-section__count { font-size: 13px; color: var(--k24-muted); }
.k24-section__count b { color: var(--k24-text); }

.k24-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.k24-card__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	aspect-ratio: 16 / 9;
	background: linear-gradient(180deg, #eef2fa, #e3e9f4);
	overflow: hidden;
}
/* Scale the picture to fill the 16:9 frame and crop whatever sticks out. */
.k24-card__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	transition: transform .25s;
}
.k24-card:hover .k24-card__thumb img { transform: scale(1.04); }
.k24-card__ph {
	width: 40px; height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .7);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #a8b2c4;
}
.k24-card__ph svg { width: 18px; height: 18px; }
.k24-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	font-size: 11px;
	color: var(--k24-muted);
}
.k24-card__cat { color: var(--k24-primary); }
.k24-card__cmt { margin-left: auto; display: inline-flex; align-items: center; gap: 3px; }
.k24-card__cmt svg { width: 11px; height: 11px; }
.k24-card__title {
	margin: 4px 0 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.k24-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--k24-line); }
.k24-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 2px;
	height: 44px;
	border-bottom: 1px solid var(--k24-line);
}
.k24-list__cat { flex: none; font-size: 12px; color: #4f6a8f; }
.k24-list__cat.is-notice { color: var(--k24-red); font-weight: 500; }
.k24-list__cat.is-request { color: var(--k24-primary); font-weight: 500; }
.k24-list__title { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k24-list__title.is-notice { color: var(--k24-primary); }
.k24-list__cmt { flex: none; font-size: 11px; color: var(--k24-primary); }
.k24-list__date { flex: none; margin-left: auto; font-size: 12px; color: var(--k24-muted); }

.k24-empty { color: var(--k24-muted); padding: 20px 0; text-align: center; grid-column: 1 / -1; }

/* generic content (single / archive) */
.k24-content h1.k24-page-title { font-size: 22px; margin: 0 0 6px; }
.k24-content .k24-post-meta { color: var(--k24-muted); font-size: 12px; margin-bottom: 20px; }
.k24-content .entry { font-size: 15px; line-height: 1.8; }
.k24-content .entry img { margin: 12px 0; }
.k24-pagination { margin-top: 20px; display: flex; gap: 6px; justify-content: center; }
.k24-pagination .page-numbers { padding: 4px 10px; border: 1px solid var(--k24-line); border-radius: 3px; }
.k24-pagination .current { background: var(--k24-primary); color: #fff; border-color: var(--k24-primary); }

/* ---------- Single post ---------- */
.k24-single { position: relative; padding-top: 6px; }

.k24-side { margin-bottom: 20px; }
.k24-side ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.k24-side a {
	display: block;
	padding: 10px 12px;
	font-size: 15px;
	border-radius: 2px;
}
.k24-side .k24-side__home { font-size: 13px; color: #50565f; }
.k24-side .is-current { background: var(--k24-primary-soft); }

@media (min-width: 1640px) {
	.k24-side {
		position: absolute;
		right: 100%;
		top: 0;
		width: 158px;
		margin: 0 40px 0 0;
	}
	.k24-side ul { flex-direction: column; gap: 0; }
	.k24-side li + li a { margin-top: 6px; }
	.k24-side .k24-side__home { padding-bottom: 20px; }
}

.k24-crumb {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--k24-muted);
}
.k24-crumb b { color: #3c424b; font-weight: 500; }
.k24-crumb span { color: #c5c9cf; }

.k24-post__title {
	margin: 18px 0 0;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--k24-line);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.4px;
}
.k24-post__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 26px;
	font-size: 18px;
	color: var(--k24-muted);
}
.k24-post__meta img { width: 100px; height: 100px; border-radius: 3px; margin-right: 4px; }
.k24-post__byline { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }

.k24-post__body { font-size: 15px; line-height: 1.75; word-break: break-word; }
.k24-post__body p { margin: 0 0 1.5em; }
.k24-post__body h2, .k24-post__body h3, .k24-post__body h4 { font-size: 15px; font-weight: 700; margin: 1.5em 0 0; }
.k24-post__body ol, .k24-post__body ul { margin: 0 0 1.5em; padding-left: 1.2em; }
.k24-post__body a { color: var(--k24-text); }
.k24-post__body a:hover { color: var(--k24-primary); }
.k24-post__body a.k24-dl, .k24-post__body .wp-block-button__link {
	display: inline-block;
	background: var(--k24-primary-soft);
	color: #1f3e7a;
	font-weight: 700;
	padding: 0 3px;
}

.k24-post__actions {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 40px 0 0;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--k24-line);
}
.k24-post__actions form { margin: 0; }
.k24-post__about {
	margin-top: 40px;
	padding-top: 18px;
	border-top: 1px solid var(--k24-line);
	font-size: 13px;
	line-height: 1.7;
	color: var(--k24-muted);
	word-break: break-word;
}
.k24-post__about a { color: var(--k24-text); }
.k24-post__about a:hover { color: var(--k24-primary); }
.k24-post__about + .k24-post__actions { margin-top: 28px; }
.k24-act {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 20px;
	background: #fff;
	border: 1px solid var(--k24-line);
	color: #50565f;
	font-size: 15px;
	cursor: pointer;
}
.k24-act svg { width: 16px; height: 16px; }
.k24-act b { color: var(--k24-text); }
.k24-act:hover { border-color: #c9d4ea; color: var(--k24-primary); }
.k24-act.is-on { border-color: var(--k24-primary); color: var(--k24-primary); }
.k24-act.is-on svg { fill: currentColor; }
a.k24-act { text-decoration: none; }
.k24-act.is-danger:hover { border-color: #f3b8b6; background: #fdf2f2; color: var(--k24-red); }
.k24-post__actions { flex-wrap: wrap; }

/* comments */
.k24-comments { margin-top: 24px; font-size: 13px; }
.k24-comments__title { font-size: 13px; font-weight: 500; margin: 0 0 10px; }
.k24-comments__locked svg { width: 14px; height: 14px; vertical-align: -2px; }
.k24-comments__title b { color: var(--k24-primary); }
.k24-comments__list, .k24-comments__list .children { list-style: none; margin: 0; padding: 0; }
.k24-comments__list { border-top: 1px solid var(--k24-line); }
.k24-cmt__body { padding: 24px 0 20px; border-bottom: 1px solid var(--k24-line); }
.k24-comments__list .children { margin-left: 42px; border-left: 3px solid #eceef1; }
.k24-comments__list .children .k24-cmt__body { padding-left: 27px; }
.k24-comments__list .children .children { margin-left: 0; border-left: 0; }
.k24-cmt__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.k24-cmt__head img { width: 22px; height: 22px; border-radius: 3px; }
.k24-cmt__author { font-size: 13px; font-weight: 700; color: #3c424b; }
.k24-cmt__time { font-size: 13px; color: var(--k24-muted); }
.k24-cmt__time:hover { color: var(--k24-muted); text-decoration: underline; }
.k24-cmt__mention {
	display: inline-block;
	margin-top: 10px;
	padding: 3px 10px;
	background: #eef1f6;
	color: #50565f;
	font-size: 13px;
}
.k24-cmt__mention:hover { color: var(--k24-primary); }
.k24-cmt__pending { margin: 10px 0 0; font-size: 13px; color: #b7791f; }
.k24-cmt__text { margin-top: 10px; font-size: 13px; line-height: 1.6; word-break: break-word; }
.k24-cmt__text p { margin: 0 0 .5em; }
.k24-cmt__text p:last-child { margin-bottom: 0; }
.k24-cmt__foot { display: flex; align-items: center; gap: 14px; margin-top: 12px; font-size: 13px; }
.k24-cmt__foot a { color: var(--k24-muted); }
.k24-cmt__foot a:hover { color: var(--k24-primary); }
.k24-cmt__like-form { margin: 0 0 0 auto; }
.k24-cmt__like {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: 0;
	padding: 2px 0;
	color: #6b7380;
	cursor: pointer;
}
.k24-cmt__like svg { width: 19px; height: 19px; }
.k24-cmt__like b { font-size: 13px; color: var(--k24-text); }
.k24-cmt__like:hover, .k24-cmt__like.is-on { color: var(--k24-primary); }
.k24-cmt__like.is-on svg { fill: currentColor; fill-opacity: .15; }
.k24-cmt .k24-cform { margin: 0 0 16px; }
.k24-cmt .k24-cform__title small a { font-size: 13px; color: var(--k24-muted); }
@media (max-width: 640px) {
	.k24-comments__list .children { margin-left: 14px; }
	.k24-comments__list .children .k24-cmt__body { padding-left: 14px; }
}

.k24-cform {
	margin-top: 16px;
	background: #f7f9fc;
	border: 1px solid var(--k24-line);
	padding: 18px 16px 16px;
}
.k24-cform__title { margin: 0 0 14px; font-size: 13px; font-weight: 500; }
.k24-cform__title small { margin-left: 8px; }
.k24-cform__form { margin: 0; }
.k24-cform__form p { margin: 0 0 10px; }
.k24-cform textarea,
.k24-cform input[type="text"],
.k24-cform input[type="email"],
.k24-cform input[type="url"] {
	width: 100%;
	border: 1px solid var(--k24-line);
	background: #fff;
	padding: 12px 14px;
	font: inherit;
	font-size: 14px;
	resize: vertical;
}
.k24-cform textarea { min-height: 110px; }
.k24-cform textarea:focus, .k24-cform input:focus { outline: none; border-color: var(--k24-primary); }
.k24-cform__form { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 8px; }
.k24-cform__form > * { grid-column: 1 / -1; }
.k24-cform__form > .comment-form-author, .k24-cform__form > .comment-form-email, .k24-cform__form > .comment-form-url { grid-column: auto; }
.k24-cform label { font-size: 12px; color: var(--k24-muted); }
.k24-cform .comment-form-cookies-consent { font-size: 12px; color: var(--k24-muted); }
.k24-cform .form-submit { display: flex; justify-content: flex-end; margin: 0; }
.k24-cform__submit {
	font-family: inherit;
	background: var(--k24-primary);
	color: #fff;
	border: 0;
	height: 38px;
	padding: 0 22px;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}
.k24-cform__submit:hover { background: #2f5ec4; }
/* Everything in the comment section is 13px (the form and popover styles are shared with other pages). */
.k24-comments .k24-cform textarea,
.k24-comments .k24-cform input,
.k24-comments .k24-cform label,
.k24-comments .k24-cform .comment-form-cookies-consent,
.k24-comments .k24-cform__submit,
.k24-comments .k24-cform__title small a,
.k24-comments .k24-pop__head,
.k24-comments .k24-pop__panel a { font-size: 13px; }

.k24-post__nav { display: flex; justify-content: space-between; gap: 8px; margin-top: 18px; }
.k24-post__nav-pn { display: flex; gap: 8px; }
.k24-btn-line {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 16px;
	border: 1px solid var(--k24-line);
	font-size: 13px;
	color: #50565f;
}
.k24-btn-line.is-disabled { color: #c5c9cf; }

/* ---------- Footer ---------- */
.k24-footer {
	background: var(--k24-footer);
	color: #aab1c0;
	font-size: 12px;
	padding: 22px 0 90px;
}
.k24-footer__inner {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}
.k24-footer__brand {
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	border-left: 3px solid var(--k24-primary);
	padding-left: 8px;
	line-height: 1.1;
}
.k24-footer a:hover { color: #fff; }
.k24-footer__contact { display: flex; gap: 14px; }
.k24-footer__contact a { display: inline-flex; align-items: center; gap: 4px; }
.k24-footer__contact svg { width: 12px; height: 12px; }
.k24-footer__links { margin-left: auto; display: flex; gap: 14px; align-items: center; }
.k24-footer__links ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; }
.k24-footer__copy { color: #6c7487; }

/* Who is online: two fixed-height lines that sit in the footer's bottom padding,
   so the footer keeps its height (padding-bottom shrinks by --k24-online-h). */
.k24-footer { --k24-online-h: 54px; padding-bottom: calc(90px - var(--k24-online-h)); }
.k24-online {
	/* 10px gap + 1px rule + 9px padding + two 17px lines = 54px */
	height: calc(var(--k24-online-h) - 10px);
	margin-top: 10px;
	padding-top: 9px;
	border-top: 1px solid rgba(255, 255, 255, .06);
	color: #6c7487;
	font-size: 11px;
	line-height: 17px;
}
.k24-online__line {
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.k24-online b, .k24-online__names { color: #aab1c0; font-weight: 600; }
.k24-online__newest { color: #fff; }
/* Keep the line ends clear of the fixed TOP button once it overlaps the container. */
@media (max-width: 1440px) { .k24-online { padding-right: 52px; } }

.k24-top {
	position: fixed;
	right: max(16px, calc((100vw - var(--k24-width)) / 2 - 76px));
	bottom: 24px;
	width: 44px; height: 44px;
	background: var(--k24-footer);
	color: #fff;
	border: 0;
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 9px;
	font-weight: 700;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s;
	z-index: 40;
}
.k24-top.is-visible { opacity: 1; pointer-events: auto; }
.k24-top svg { width: 14px; height: 14px; }

.k24-flash {
	padding: 10px 12px;
	margin-bottom: 16px;
	background: #eaf7ee;
	color: #24733a;
	border-radius: 2px;
}
.k24-flash.is-error { background: #fdecec; color: #b42323; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.k24-header__inner { gap: 12px; height: 64px; }
	.k24-menu-toggle { display: inline-flex; }
	.k24-nav {
		display: none;
		position: absolute;
		top: 64px; left: 0; right: 0;
		background: #fff;
		border-bottom: 1px solid var(--k24-line);
		padding: 8px 16px 12px;
	}
	.k24-nav.is-open { display: block; }
	.k24-nav ul { flex-direction: column; }
	.k24-nav .sub-menu, .k24-nav .children { position: static; display: flex; box-shadow: none; border: 0; padding-left: 12px; }
	.k24-tools { margin-left: auto; }
	.k24-cards { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.k24-row { grid-template-columns: 1fr; }
	.k24-footer__links { margin-left: 0; }
	.k24-list__date { display: none; }
	.admin-bar .k24-header { top: 0; }
}

@media (max-width: 640px) {
	.k24-cform__form { grid-template-columns: 1fr; }
	.k24-post__nav { flex-wrap: wrap; }
	.k24-crumb { font-size: 13px; }
}

/* ---------- Category board ---------- */
.k24-board { padding-top: 6px; }
.k24-board__bar {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 34px 0 30px;
}
.k24-board__tabs {
	flex: 1;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 20px;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.k24-board__tabs::-webkit-scrollbar { display: none; }
.k24-board__tabs li { flex: none; }
.k24-board__tabs a {
	display: inline-block;
	font-size: 14px;
	white-space: nowrap;
	color: var(--k24-text);
	padding-bottom: 3px;
	border-bottom: 2px solid transparent;
}
.k24-board__tabs a small { font-size: inherit; margin-left: 4px; opacity: .85; }
.k24-board__tabs a.is-current { border-bottom-color: currentColor; font-weight: 700; }
.k24-board__tabs a:hover { opacity: .75; }
.k24-board__tools { display: flex; gap: 6px; color: #b5bac2; }
.k24-board__tools .k24-icon-btn { color: #b5bac2; }
.k24-board__tools .k24-icon-btn svg { width: 22px; height: 22px; }
.k24-board__tools .k24-icon-btn:hover { color: var(--k24-primary); }

.k24-board__search { display: none; gap: 8px; align-items: center; margin: -14px 0 20px; }
.k24-board__search.is-open { display: flex; }
.k24-board__search input {
	flex: 1;
	max-width: 360px;
	height: 38px;
	border: 1px solid var(--k24-line);
	padding: 0 12px;
	font: inherit;
}
.k24-board__search input:focus { outline: none; border-color: var(--k24-primary); }
.k24-members__search { flex-wrap: wrap; }
.k24-members__search input { min-width: 200px; }
.k24-members__search select {
	height: 38px;
	border: 1px solid var(--k24-line);
	background: #fff;
	padding: 0 8px;
	font: inherit;
	font-size: 13px;
	color: var(--k24-text);
}
.k24-members__search select:focus { outline: none; border-color: var(--k24-primary); }

.k24-board__table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.k24-board__table th {
	font-size: 13px;
	font-weight: 400;
	color: #50565f;
	text-align: left;
	padding: 0 0 10px;
	border-bottom: 1px solid #c9d2e3;
}
.k24-board__table td {
	height: 42px;
	padding: 0;
	border-bottom: 1px solid var(--k24-line);
	vertical-align: middle;
}
.k24-board__table tr.is-pinned td { background: #f6f8fc; }
.k24-board__table tbody td { transition: background-color .12s; }
.k24-board__table tbody tr:not(:has(.k24-empty)):hover td { background: #f3f6fc; }
.k24-board__table tbody tr.is-pinned:hover td { background: #ebf0f9; }
.k24-board__table .k24-board__num { width: 108px; text-align: center; font-size: 14px; color: #5b6270; }
.k24-board__table .k24-board__cat { width: 114px; font-size: 14px; color: #5b6270; }
.k24-board__table td.k24-board__cat a { color: #5b6270; }
.k24-board__table .k24-board__title { font-size: 14px; padding-right: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k24-board__table td.k24-board__title a.is-notice { color: #2f8fe8; }
.k24-board__table .k24-board__date { width: 150px; text-align: center; font-size: 14px; color: #5b6270; }
.k24-board__table .k24-board__owner { width: 140px; font-size: 14px; color: #3c424b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 10px; }
.k24-board__table td.k24-board__owner .k24-pop { max-width: 100%; }
.k24-board__table .k24-board__views { width: 90px; text-align: center; font-size: 14px; color: #5b6270; }
.k24-board__cmt { margin-left: 10px; font-size: 12px; color: var(--k24-primary); }
.k24-board__new {
	display: inline-block;
	margin-left: 8px;
	padding: 0 6px;
	background: #3c424b;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 19px;
	vertical-align: 2px;
}
.k24-board__table td.k24-empty { text-align: center; color: var(--k24-muted); }

.k24-pager { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 7px; margin: 40px 0 10px; }
.k24-pager__nums { display: inline-flex; gap: 3px; }
.k24-pager__btn {
	min-width: 24px; height: 24px;
	padding: 0 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--k24-line);
	font-size: 12px;
	color: #3c424b;
	text-decoration: none;
}
a.k24-pager__btn:hover { border-color: var(--k24-primary); color: var(--k24-primary); }
.k24-pager__btn.is-disabled { color: #c5c9cf; }
.k24-pager__btn.is-current { border-color: var(--k24-primary); background: var(--k24-primary); color: #fff; font-weight: 700; }
.k24-pager__form { display: flex; align-items: center; gap: 7px; margin: 0 0 0 4px; font-size: 12px; color: var(--k24-muted); }
.k24-pager__form input {
	width: 40px; height: 24px;
	border: 1px solid var(--k24-line);
	text-align: center;
	font: inherit;
	color: var(--k24-text);
	-moz-appearance: textfield;
}
.k24-pager__form input::-webkit-outer-spin-button,
.k24-pager__form input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

@media (max-width: 900px) {
	.k24-board__table .k24-board__num, .k24-board__table .k24-board__views { display: none; }
	.k24-board__table .k24-board__title { font-size: 14px; }
	.k24-board__table .k24-board__cat { width: 92px; font-size: 13px; }
	.k24-board__table .k24-board__date { width: 90px; font-size: 12px; }
	.k24-board__table .k24-board__owner { width: 100px; font-size: 13px; }
}
@media (max-width: 640px) {
	.k24-board__bar { align-items: flex-start; }
	.k24-board__tabs { gap: 16px; }
	.k24-board__table .k24-board__date { display: none; }
	.k24-board__table .k24-board__owner { display: none; }
	.k24-board__table td { height: 40px; }
}

/* ---------- User menu ---------- */
.k24-usermenu { position: relative; }
button.k24-user { background: #fff; color: var(--k24-text); font-family: inherit; cursor: pointer; position: relative; }
button.k24-user:hover, button.k24-user[aria-expanded="true"] { border-color: #c9d4ea; color: var(--k24-primary); }
.k24-dot { position: absolute; top: 5px; right: 5px; width: 6px; height: 6px; border-radius: 50%; background: var(--k24-red); }
.k24-count {
	display: inline-block;
	min-width: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--k24-red);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

.k24-usermenu__panel {
	position: absolute;
	top: calc(100% + 22px);
	right: 0;
	width: 300px;
	background: #fff;
	border: 1px solid var(--k24-line);
	box-shadow: 0 10px 30px rgba(20, 30, 50, .1);
	padding: 0 10px;
	z-index: 60;
	font-size: 15px;
}
.k24-usermenu__panel[hidden] { display: none; }

/* ---------- Notification bell ---------- */
.k24-notify { position: relative; }
.k24-notify__btn { position: relative; }
.k24-notify__count { position: absolute; top: 1px; right: -2px; min-width: 16px; padding: 0 4px; font-size: 10px; line-height: 16px; pointer-events: none; }
.k24-notify__count[hidden] { display: none; }
.k24-notify__panel {
	position: absolute;
	top: calc(100% + 22px);
	right: -60px;
	width: 340px;
	max-width: calc(100vw - 32px);
	background: #fff;
	border: 1px solid var(--k24-line);
	box-shadow: 0 10px 30px rgba(20, 30, 50, .1);
	z-index: 60;
	font-size: 14px;
}
.k24-notify__panel[hidden] { display: none; }
.k24-notify__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 14px 12px; border-bottom: 1px solid var(--k24-line); }
.k24-notify__readall { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; color: var(--k24-muted); cursor: pointer; }
.k24-notify__readall:hover { color: var(--k24-primary); }
.k24-notify__list { list-style: none; margin: 0; padding: 0; max-height: min(420px, 60vh); overflow-y: auto; }
.k24-notify__item + .k24-notify__item { border-top: 1px solid var(--k24-line); }
.k24-notify__item a { display: flex; gap: 10px; padding: 12px 14px; color: var(--k24-text); }
.k24-notify__item a:hover { background: var(--k24-page); color: var(--k24-text); }
.k24-notify__item.is-unread a { background: var(--k24-primary-soft); }
.k24-notify__icon { flex: none; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--k24-page); color: var(--k24-primary); }
.k24-notify__icon svg { width: 14px; height: 14px; }
.k24-notify__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.k24-notify__item.is-unread .k24-notify__text { font-weight: 700; }
.k24-notify__excerpt { color: var(--k24-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k24-notify__time { color: var(--k24-muted); font-size: 11px; }
.k24-notify__empty { padding: 28px 14px; text-align: center; color: var(--k24-muted); }
.k24-notify__foot { display: block; padding: 12px 14px; border-top: 1px solid var(--k24-line); font-size: 13px; text-align: center; color: var(--k24-muted); }
@media (max-width: 640px) {
	.k24-notify { position: static; }
	.k24-notify__panel { position: absolute; top: 100%; left: 16px; right: 16px; width: auto; max-width: none; }
}
.k24-usermenu__panel a { color: var(--k24-text); }
.k24-usermenu__panel a:hover { color: var(--k24-primary); }
.k24-usermenu__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.k24-usermenu__points { display: block; padding: 22px 12px 16px; border-bottom: 1px solid var(--k24-line); }
.k24-usermenu__points .k24-usermenu__label { flex: 1; color: #6b7380; }
.k24-usermenu__points b { font-size: 18px; }
.k24-usermenu__arrow { color: #9aa1ab; font-size: 16px; }
.k24-usermenu__sub { font-size: 12px; color: var(--k24-muted); }
.k24-progress { display: block; height: 6px; background: #eef1f6; margin: 12px 0 8px; overflow: hidden; }
.k24-progress span { display: block; height: 100%; background: var(--k24-primary); }
.k24-usermenu__note { display: flex; align-items: center; gap: 10px; padding: 18px 12px; border-bottom: 1px solid var(--k24-line); }
.k24-usermenu__note svg { width: 16px; height: 16px; color: #6b7380; }
.k24-usermenu__note span:not(.k24-count):first-of-type { flex: 1; }
.k24-usermenu__links { list-style: none; margin: 0; padding: 10px 0; border-bottom: 2px solid var(--k24-line); }
.k24-usermenu__links a { display: block; padding: 10px 12px; }
.k24-usermenu__logout { display: flex; align-items: center; gap: 10px; padding: 18px 12px; color: #6b7380 !important; }
.k24-usermenu__logout:hover { color: var(--k24-red) !important; }
.k24-usermenu__logout svg { width: 16px; height: 16px; }

/* ---------- My page ---------- */
.k24-my .k24-side a { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.k24-my__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.k24-my__card { border: 1px solid var(--k24-line); padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.k24-my__card span { font-size: 13px; color: var(--k24-muted); }
.k24-my__card b { font-size: 24px; }
.k24-my__card b.is-text { font-size: 18px; line-height: 36px; }
.k24-my__level { border: 1px solid var(--k24-line); padding: 16px 18px; margin-bottom: 30px; font-size: 14px; }
.k24-my__hint { margin: 6px 0 0; font-size: 12px; color: var(--k24-muted); }
.k24-my__subtitle { font-size: 16px; margin: 0 0 12px; }
.k24-my__boxes { margin: 0 0 22px; gap: 8px; flex-wrap: wrap; }
.k24-my__boxes a {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 16px;
	border: 1px solid var(--k24-line);
	border-radius: 4px;
	background: var(--k24-bg);
	color: #50565f;
	font-size: 13px;
	font-weight: 700;
}
.k24-my__boxes a:hover { opacity: 1; border-color: var(--k24-primary); color: var(--k24-primary); }
.k24-my__boxes a.is-current,
.k24-my__boxes a.is-current:hover { border-color: var(--k24-primary); background: var(--k24-primary); color: #fff; }
.k24-my__boxes a small { min-width: 18px; padding: 0 5px; border-radius: 9px; background: var(--k24-red); color: #fff; font-size: 11px; line-height: 18px; text-align: center; opacity: 1; }
[data-theme="dark"] .k24-my__boxes a:not(.is-current) { background: var(--k24-surface); color: var(--k24-text); }
.k24-my__table td { height: 42px; }
.k24-my__table .k24-board__title { font-size: 14px; }
.k24-my__table .k24-board__cat { font-size: 14px; }
.k24-my__invites .k24-board__cat { width: 160px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k24-my__table .is-plus { color: var(--k24-primary); font-weight: 700; }
.k24-my__table .is-minus { color: var(--k24-red); font-weight: 700; }
.k24-my__table tr.is-unread .k24-board__title a { font-weight: 700; }
.k24-my__new { color: var(--k24-red); font-weight: 700; }
.k24-my__table form { margin: 0; }
.k24-my__invite form { margin-top: 12px; }
.k24-my__code { font-family: ui-monospace, Consolas, monospace; letter-spacing: 1px; margin-right: 8px; }
.k24-auth__code { font-family: ui-monospace, Consolas, monospace; letter-spacing: 1px; text-transform: uppercase; }
.k24-link-btn { background: none; border: 0; padding: 0; color: var(--k24-muted); font: inherit; font-size: 13px; cursor: pointer; }
.k24-link-btn:hover { color: var(--k24-red); }

.k24-my__comments { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--k24-line); }
.k24-my__comments li { padding: 16px 0; border-bottom: 1px solid var(--k24-line); }
.k24-my__ctext { display: block; font-size: 15px; }
.k24-my__cmeta { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12px; color: var(--k24-muted); }
.k24-my__cmeta a { color: #4f6a8f; }
.k24-my__clikes { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; }
.k24-my__clikes svg { width: 13px; height: 13px; }

.k24-note { border-top: 1px solid var(--k24-line); padding-top: 20px; }
.k24-note__actions { display: flex; gap: 8px; margin-top: 24px; }
.k24-note__actions form { margin: 0; }
.k24-note__actions button.k24-btn-line { background: #fff; font-family: inherit; cursor: pointer; }
.k24-note__actions button.k24-btn-line:hover { color: var(--k24-red); }

.k24-my__form { display: block; max-width: 640px; }
.k24-my__form p { margin: 0 0 14px; }
.k24-my__form label { display: block; margin-bottom: 4px; }
.k24-my__form textarea { min-height: 0; }
.k24-my__form .form-submit { justify-content: flex-start; }
.k24-my__hint { display: block; margin: 4px 0 6px; font-size: 12px; color: var(--k24-muted); }
.k24-crop { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px; margin: 8px 0; }
.k24-crop[hidden] { display: none; }
.k24-crop__stage { position: relative; display: block; width: 240px; max-width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 6px; background: #222; cursor: grab; touch-action: none; user-select: none; }
.k24-crop__stage:active { cursor: grabbing; }
.k24-crop__img { position: absolute; top: 0; left: 0; max-width: none; transform-origin: 0 0; pointer-events: none; }
.k24-crop__tools { display: flex; flex-direction: column; gap: 8px; min-width: 180px; }
.k24-my__form .k24-crop__label { display: flex; align-items: center; gap: 8px; margin: 0; }
.k24-crop__zoom { flex: 1; }
.k24-crop__tools button { background: #fff; font-family: inherit; cursor: pointer; }
.k24-crop__tools button + button { margin-left: 6px; }
[data-theme="dark"] .k24-crop__tools button { background: var(--k24-surface); color: var(--k24-text); }
.k24-my__fieldset { border: 1px solid var(--k24-line); background: #fff; padding: 12px 14px 0; margin: 0 0 14px; }
.k24-my__fieldset legend { font-size: 12px; color: var(--k24-muted); padding: 0 4px; }
.k24-my__avatar { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.k24-my__avatar img { width: 64px; height: 64px; border-radius: 6px; }
.k24-my__avatar div { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--k24-muted); }
.k24-my__group { color: var(--k24-primary); }
.k24-my__avatar b { color: var(--k24-text); font-size: 16px; }
.k24-my__avatar a { color: var(--k24-primary); }

@media (max-width: 900px) {
	.k24-usermenu__panel { top: calc(100% + 14px); max-width: calc(100vw - 32px); }
}
@media (max-width: 640px) {
	.k24-my__cards { grid-template-columns: 1fr; }
	button.k24-user { max-width: 120px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
}
@media (max-width: 900px) {
	.k24-my__table .k24-board__views { display: table-cell; width: 70px; }
}

/* ---------- Front page chat ---------- */
.k24-chat__live { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--k24-muted); }
.k24-chat__live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22b022; box-shadow: 0 0 0 3px rgba(34, 176, 34, .15); }
.k24-chat__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 200px;
	border: 1px solid var(--k24-line);
}
.k24-chat__main { min-width: 0; }
/* Online column: as tall as the messages + input, scrolling its own list. */
.k24-chat__users {
	display: flex;
	flex-direction: column;
	height: 0;
	min-height: 100%;
	border-left: 1px solid var(--k24-line);
	background: #fafbfd;
}
.k24-chat__users-title {
	flex: none;
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 10px 14px;
	border-bottom: 1px solid var(--k24-line);
	font-size: 12px;
	font-weight: 700;
}
.k24-chat__users-title::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22b022; }
.k24-chat__users-count { font-weight: 400; color: var(--k24-muted); }
.k24-chat__users-list {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	margin: 0;
	padding: 6px 0;
	list-style: none;
	scrollbar-width: thin;
	scrollbar-color: #c5ccd8 transparent;
}
.k24-chat__user { display: flex; align-items: center; gap: 6px; padding: 4px 14px; font-size: 13px; }
.k24-chat__user .k24-lv,
.k24-chat__user .k24-staff,
.k24-chat__online-item .k24-lv,
.k24-chat__online-item .k24-staff { flex: none; }
.k24-chat__user img { flex: none; width: 20px; height: 20px; border-radius: 50%; }
.k24-chat__user-name {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 0;
	background: none;
	border: 0;
	font: inherit;
	color: var(--k24-text);
	text-align: left;
}
button.k24-chat__user-name { cursor: pointer; }
button.k24-chat__user-name:hover { color: var(--k24-primary); }
.k24-chat__user.is-hidden .k24-chat__user-name { font-style: italic; color: #9aa1ab; }
.k24-chat__users-empty { padding: 4px 14px; font-size: 12px; color: #9aa1ab; }
.k24-chat__log {
	height: 380px;
	overflow-y: auto;
	padding: 4px 18px 16px;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #c5ccd8 transparent;
}
.k24-chat__log:focus { outline: none; }
.k24-chat__log:focus-visible { box-shadow: inset 0 0 0 2px var(--k24-primary-soft); }
.k24-chat__day {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 22px 0 6px;
	font-size: 12px;
	color: var(--k24-muted);
	white-space: nowrap;
}
.k24-chat__day::before, .k24-chat__day::after { content: ""; flex: 1; height: 1px; background: #dfe4ec; }
.k24-chat__msg { padding: 10px 0 2px; }
.k24-chat__head { display: flex; align-items: center; gap: 7px; }
.k24-chat__head img { width: 18px; height: 18px; border-radius: 3px; }
.k24-chat__name { font-size: 14px; font-weight: 700; }
.k24-chat__time { font-size: 11px; color: var(--k24-muted); }
.k24-chat__log { position: relative; }
.k24-chat__actions { margin-left: auto; display: flex; gap: 12px; opacity: 0; transition: opacity .15s; }
.k24-chat__msg:hover .k24-chat__actions, .k24-chat__actions:focus-within { opacity: 1; }
@media (hover: none) { .k24-chat__actions { opacity: 1; } }
.k24-chat__act {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	font-size: 11px;
	color: #9aa1ab;
	cursor: pointer;
}
.k24-chat__act:hover { color: var(--k24-primary); }
.k24-chat__del:hover { color: var(--k24-red); }
.k24-chat__msg { transition: background-color .3s; }
.k24-chat__msg.is-flash { animation: k24-flash 1.6s ease-out; }
@keyframes k24-flash { 0%, 30% { background: #fdf3c4; } 100% { background: transparent; } }
.k24-chat__quote {
	display: flex;
	align-items: baseline;
	gap: 6px;
	max-width: 100%;
	margin: 6px 0 0;
	padding: 4px 10px;
	background: #eef1f6;
	border: 0;
	border-left: 3px solid #c9d4ea;
	font: inherit;
	font-size: 13px;
	color: #50565f;
	text-align: left;
	cursor: pointer;
}
.k24-chat__quote:hover { border-left-color: var(--k24-primary); }
.k24-chat__quote-name { flex: none; font-weight: 500; color: #3c424b; }
.k24-chat__quote-text { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.k24-chat__quote.is-gone { cursor: default; font-style: italic; color: var(--k24-muted); }
.k24-chat__quote.is-gone:hover { border-left-color: #c9d4ea; }
.k24-chat__replybar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px 7px 16px;
	background: #f7f9fc;
	border-top: 1px solid var(--k24-line);
	border-left: 3px solid var(--k24-primary);
	font-size: 12px;
}
.k24-chat__replybar[hidden] { display: none; }
.k24-chat__replybar-label { flex: none; font-weight: 700; color: var(--k24-primary); }
.k24-chat__replybar-text { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #6b7380; }
.k24-chat__replybar-x { flex: none; width: 24px; height: 24px; background: none; border: 0; font-size: 18px; line-height: 1; color: #9aa1ab; cursor: pointer; }
.k24-chat__replybar-x:hover { color: var(--k24-red); }
.k24-chat__text { margin: 3px 0 0; font-size: 14px; line-height: 1.6; word-break: break-word; white-space: pre-wrap; }
.k24-chat__more {
	display: block;
	margin: 12px auto 0;
	background: #fff;
	border: 1px solid var(--k24-line);
	padding: 4px 12px;
	font: inherit;
	font-size: 12px;
	color: #6b7380;
	cursor: pointer;
}
.k24-chat__more:hover { color: var(--k24-primary); border-color: #c9d4ea; }
.k24-chat__empty { margin: 0; padding: 150px 0 0; text-align: center; color: var(--k24-muted); }

.k24-chat__form {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 8px 8px 8px 16px;
	background: var(--k24-primary-soft);
}
.k24-chat__form input {
	flex: 1;
	min-width: 0;
	height: 36px;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 14px;
	color: var(--k24-text);
}
form.k24-chat__form { position: relative; }
.k24-chat__online {
	position: absolute;
	left: 8px;
	bottom: calc(100% + 4px);
	z-index: 20;
	width: 260px;
	max-width: calc(100% - 16px);
	max-height: 240px;
	overflow-y: auto;
	padding: 4px 0;
	background: #fff;
	border: 1px solid var(--k24-line);
	box-shadow: 0 6px 18px rgba(20, 30, 50, .12);
	scrollbar-width: thin;
}
.k24-chat__online[hidden] { display: none; }
.k24-chat__online-head { padding: 4px 12px 6px; font-size: 11px; font-weight: 700; color: #6b7380; }
.k24-chat__online-head::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 6px;
	border-radius: 50%;
	background: #2fb35a;
	vertical-align: 1px;
}
.k24-chat__online-empty { margin: 0; padding: 2px 12px 6px; font-size: 12px; color: #9aa1ab; }
.k24-chat__online-item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 5px 12px;
	background: none;
	border: 0;
	font: inherit;
	font-size: 13px;
	color: var(--k24-text);
	text-align: left;
	cursor: pointer;
}
.k24-chat__online-item img { flex: none; width: 20px; height: 20px; border-radius: 50%; }
.k24-chat__online-item.is-active { background: var(--k24-primary-soft); }
.k24-chat__online-item.is-hidden .k24-chat__online-name { font-style: italic; color: #9aa1ab; }
.k24-chat__online-name { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.k24-chat__online-you { flex: none; font-size: 11px; color: #9aa1ab; }
.k24-chat__form input::placeholder { color: #8f9aae; }
.k24-chat__form input:focus { outline: none; }
.k24-chat__send {
	flex: none;
	height: 36px;
	padding: 0 18px;
	display: inline-flex;
	align-items: center;
	background: var(--k24-primary);
	color: #fff;
	border: 0;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}
.k24-chat__send:hover { background: #2f5ec4; color: #fff; }
.k24-chat__form.is-sending .k24-chat__send { opacity: .6; pointer-events: none; }
.k24-chat__login { color: #6b7380; font-size: 13px; justify-content: space-between; }
.k24-chat__login:hover { color: #6b7380; }
.k24-chat__error { margin: 0; padding: 6px 16px; background: #fdecec; color: #b42323; font-size: 12px; }

@media (max-width: 640px) {
	.k24-chat__box { grid-template-columns: minmax(0, 1fr); }
	/* Online users drop below the chat as a short scrolling strip. */
	.k24-chat__users { height: auto; min-height: 0; border-left: 0; border-top: 1px solid var(--k24-line); }
	.k24-chat__users-list { max-height: 112px; }
	.k24-chat__log { height: 320px; padding: 4px 12px 12px; }
	.k24-chat__empty { padding-top: 120px; }
}

/* ---------- Write / edit page ---------- */
.k24-write .k24-crumb { margin-bottom: 26px; }
.k24-ed__label { display: block; margin: 0 0 10px; font-size: 15px; font-weight: 700; }
.k24-ed__labelrow { display: flex; align-items: baseline; justify-content: space-between; margin-top: 28px; }
.k24-ed__help-toggle { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; color: var(--k24-muted); cursor: pointer; }
.k24-ed__help-toggle:hover { color: var(--k24-primary); }
.k24-ed__help { margin: 0 0 10px; padding: 10px 12px; background: #f7f9fc; border: 1px solid var(--k24-line); font-size: 12px; line-height: 2.1; }
.k24-ed__help code { background: #fff; border: 1px solid var(--k24-line); padding: 1px 5px; margin-right: 4px; white-space: nowrap; }

.k24-ed__titlerow { display: flex; border: 1px solid #d6dce8; background: #fff; }
.k24-ed__cat {
	flex: none;
	width: 180px;
	height: 50px;
	padding: 0 34px 0 16px;
	border: 0;
	border-right: 1px solid #d6dce8;
	background: #f4f7fc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7380' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 16px;
	font: inherit;
	font-size: 15px;
	color: var(--k24-text);
	appearance: none;
	cursor: pointer;
}
.k24-ed__cat:invalid { color: #8f9aae; }
.k24-ed__title { flex: 1; min-width: 0; height: 50px; padding: 0 16px; border: 0; font: inherit; font-size: 16px; }
.k24-ed__title::placeholder { color: #8f9aae; }
.k24-ed__titlerow :focus { outline: none; }
.k24-ed__titlerow:focus-within { border-color: var(--k24-primary); }
.k24-ed__titlecolor {
	width: 56px;
	height: 50px;
	border: 0;
	border-left: 1px solid #d6dce8;
	background: #f4f7fc;
	cursor: pointer;
	font: inherit;
}
.k24-ed__titlecolor span { font-size: 18px; font-weight: 700; border: 0; border-bottom: 3px solid #1f2329; line-height: 1; padding: 0 1px; }
.k24-ed__titlecolor:hover { background: #e9effb; }

.k24-ed__pop-wrap { position: relative; display: inline-flex; }
.k24-ed__pop {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 20;
	background: #fff;
	border: 1px solid var(--k24-line);
	box-shadow: 0 8px 24px rgba(20, 30, 50, .12);
	padding: 10px;
}
.k24-ed__toolbar .k24-ed__pop { left: 0; right: auto; }
.k24-ed__pop[hidden] { display: none; }
.k24-ed__swatches { display: grid; grid-template-columns: repeat(5, 24px); gap: 6px; }
.k24-ed__swatch { width: 24px; height: 24px; border: 1px solid rgba(0, 0, 0, .12); border-radius: 3px; cursor: pointer; padding: 0; }
.k24-ed__swatch:hover { transform: scale(1.12); }
.k24-ed__swatch.is-none { background: linear-gradient(135deg, #fff 45%, #e5322d 45%, #e5322d 55%, #fff 55%) !important; }
.k24-ed__imgpop { width: 230px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.k24-ed__imgpop[hidden] { display: none; }
.k24-ed__imgpop small { color: var(--k24-muted); font-size: 11px; }
.k24-ed__upload { display: block; position: relative; text-align: center; padding: 9px; background: var(--k24-primary); color: #fff; font-weight: 700; cursor: pointer; }
.k24-ed__upload:hover { background: #2f5ec4; }
.k24-ed__upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.k24-ed__linkbtn { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; color: var(--k24-primary); cursor: pointer; text-align: left; }

.k24-ed__box { border: 1px solid #d6dce8; background: #fff; }
.k24-ed__box:focus-within { border-color: #b9c6e0; }
.k24-ed__toolbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1px;
	padding: 8px 10px;
	background: #f4f7fc;
	border-bottom: 1px solid #d6dce8;
}
.k24-ed__btn {
	width: 34px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0;
	border-radius: 3px;
	color: #3c424b;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
}
.k24-ed__btn:hover:not(:disabled), .k24-ed__btn[aria-expanded="true"] { background: #e2e8f3; color: var(--k24-primary); }
.k24-ed__btn:disabled, .k24-ed__size:disabled { opacity: .35; cursor: default; }
.k24-ed__btn svg { width: 19px; height: 19px; }
.k24-ed__btn i { font-family: Georgia, serif; }
.k24-ed__ga { font-weight: 700; font-size: 17px; line-height: 1; }
.k24-ed__ga.is-color { border-bottom: 3px solid var(--k24-red); }
.k24-ed__ga.is-mark { background: #fff3a3; padding: 1px 3px; }
.k24-ed__sep { width: 1px; height: 24px; background: #d6dce8; margin: 0 5px; }
.k24-ed__size {
	height: 38px;
	width: 120px;
	margin-right: 4px;
	padding: 0 30px 0 12px;
	border: 1px solid #d6dce8;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7380' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px;
	font: inherit;
	font-size: 14px;
	appearance: none;
	cursor: pointer;
}
.k24-ed__preview {
	margin-left: auto;
	height: 32px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid #d6dce8;
	font: inherit;
	font-size: 13px;
	color: #50565f;
	cursor: pointer;
}
.k24-ed__preview[aria-pressed="true"] { background: var(--k24-primary); border-color: var(--k24-primary); color: #fff; }
.k24-ed__text {
	display: block;
	width: 100%;
	min-height: 420px;
	padding: 18px 20px;
	border: 0;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.75;
	resize: vertical;
	color: var(--k24-text);
}
.k24-ed__text[hidden] { display: none; }
.k24-ed__text:focus { outline: none; }
.k24-ed__previewpane { padding: 18px 20px; min-height: 420px; font-size: 15px; line-height: 1.75; }
.k24-ed__previewpane[hidden] { display: none; }
.k24-ed__status { margin: 0; padding: 6px 14px; border-top: 1px solid var(--k24-line); font-size: 12px; color: var(--k24-primary); }
.k24-ed__status[hidden] { display: none; }
.k24-ed__status.is-error { color: var(--k24-red); }

.k24-ed .k24-ed__label[for="k24-ed-tag"] { margin-top: 28px; }
.k24-ed__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	min-height: 50px;
	padding: 8px 12px;
	border: 1px solid #d6dce8;
	background: #fff;
	cursor: text;
}
.k24-ed__tags:focus-within { border-color: var(--k24-primary); }
.k24-ed__tags input { flex: 1; min-width: 160px; height: 32px; border: 0; font: inherit; font-size: 15px; }
.k24-ed__tags input:focus { outline: none; }
.k24-ed__tags input::placeholder { color: #8f9aae; }
.k24-ed__chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 30px;
	padding: 0 4px 0 10px;
	background: var(--k24-primary-soft);
	color: #1f3e7a;
	font-size: 14px;
	border-radius: 15px;
}
.k24-ed__chip button { width: 22px; height: 22px; border: 0; border-radius: 50%; background: none; color: #6b7380; font-size: 15px; line-height: 1; cursor: pointer; }
.k24-ed__chip button:hover { background: #d3def5; color: var(--k24-red); }
.k24-ed__hint { margin: 8px 0 0; font-size: 13px; color: var(--k24-muted); }

.k24-ed__actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 28px; }
.k24-ed__right { display: flex; gap: 10px; }
.k24-ed__lock {
	height: 42px;
	min-width: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 12px;
	background: #fff;
	border: 1px solid var(--k24-line);
	color: #6b7380;
	font: inherit;
	font-size: 13px;
	cursor: pointer;
}
.k24-ed__lock svg { width: 18px; height: 18px; }
.k24-ed__lock-label { display: none; }
.k24-ed__lock.is-on { border-color: var(--k24-primary); color: var(--k24-primary); background: var(--k24-primary-soft); }
.k24-ed__lock.is-on .k24-ed__lock-label { display: inline; font-weight: 700; }
.k24-ed__submit { height: 42px; padding: 0 22px; font-size: 15px; }
.k24-ed__submit:disabled { opacity: .6; }
.k24-ed .is-invalid { box-shadow: inset 0 0 0 2px rgba(229, 50, 45, .45); }

/* ---------- BBCode output ---------- */
.k24-bb { word-break: break-word; }
.k24-bb-small { font-size: .85em; }
.k24-bb-large { font-size: 1.3em; }
.k24-bb-huge { font-size: 1.7em; line-height: 1.3; }
.k24-bb mark, .k24-cmt__text mark { padding: 0 2px; color: inherit; }
.k24-bb-img { max-width: 100%; height: auto; display: inline-block; margin: 6px 0; vertical-align: middle; }
.k24-bb-embed { position: relative; width: 100%; max-width: 720px; aspect-ratio: 16 / 9; margin: 10px 0; background: #000; }
.k24-bb-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.k24-bb-video { width: 100%; max-width: 720px; margin: 10px 0; background: #000; }
.k24-bb-audio { width: 100%; max-width: 480px; margin: 6px 0; }
.k24-bb-quote { margin: 12px 0; padding: 10px 16px; background: #f7f9fc; border-left: 3px solid #c9d4ea; color: #50565f; }
.k24-bb-quote cite { display: block; margin-bottom: 4px; font-size: .85em; font-style: normal; font-weight: 700; color: #3c424b; }
.k24-bb-spoiler { margin: 12px 0; border: 1px solid var(--k24-line); }
.k24-bb-spoiler summary { padding: 8px 14px; background: #f7f9fc; cursor: pointer; font-size: .9em; color: #50565f; }
.k24-bb-spoiler > div { padding: 10px 14px; }
.k24-bb-code { margin: 12px 0; padding: 12px 16px; background: #1f2433; color: #e4e8f0; font-family: Consolas, Menlo, monospace; font-size: 13px; line-height: 1.6; overflow-x: auto; white-space: pre; }
.k24-bb-list { margin: 8px 0; padding-left: 1.4em; }
.k24-bb-table { overflow-x: auto; margin: 12px 0; }
.k24-bb-table table { border-collapse: collapse; min-width: 50%; }
.k24-bb-table th, .k24-bb-table td { border: 1px solid #d6dce8; padding: 6px 12px; text-align: left; }
.k24-bb-table th { background: #f4f7fc; font-weight: 700; }
.k24-bb-hr { border: 0; border-top: 1px solid var(--k24-line); margin: 18px 0; }

/* ---------- Post owner tools, tags, secret badge ---------- */
.k24-post__owner { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; }
.k24-post__owner a, .k24-post__owner button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 20px;
	background: #fff;
	border: 1px solid var(--k24-line);
	font: inherit;
	font-size: 15px;
	color: #50565f;
	cursor: pointer;
}
.k24-post__owner svg { width: 16px; height: 16px; }
.k24-post__owner a:hover { border-color: #c9d4ea; color: var(--k24-primary); }
.k24-post__owner button:hover { border-color: #f3b8b6; background: #fdf2f2; color: var(--k24-red); }
.k24-post__owner form { margin: 0; }

.k24-new-topic {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 16px;
	background: var(--k24-primary);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}
.k24-new-topic:hover { background: #2f5ec4; color: #fff; }
.k24-new-topic svg { width: 15px; height: 15px; }
.k24-board__tools { align-items: center; }
.k24-post__tags { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 26px 0 0; padding: 0; }
.k24-post__tags a { display: inline-block; padding: 4px 12px; background: var(--k24-primary-soft); color: #1f3e7a; font-size: 13px; border-radius: 14px; }
.k24-post__tags a:hover { background: #d3def5; }
.k24-secret { display: inline-flex; vertical-align: -2px; margin-right: 6px; color: var(--k24-muted); }
.k24-secret svg { width: 15px; height: 15px; }
.k24-post__title .k24-secret svg { width: 18px; height: 18px; }
.k24-locked { display: inline-flex; flex: none; vertical-align: -2px; margin-left: 6px; color: var(--k24-muted); }
.k24-locked svg { width: 14px; height: 14px; }

@media (max-width: 640px) {
	.k24-ed__titlerow { flex-wrap: wrap; }
	.k24-ed__cat { width: 100%; border-right: 0; border-bottom: 1px solid #d6dce8; }
	.k24-ed__btn { width: 34px; height: 34px; }
	.k24-ed__sep { margin: 0 3px; }
	.k24-ed__text, .k24-ed__previewpane { min-height: 300px; }
}

.k24-flash--info { background: var(--k24-primary-soft); color: #1f3e7a; }
.k24-flash--info a { color: var(--k24-primary); font-weight: 700; margin-left: 6px; }

/* ---------- Author popover ---------- */
.k24-pop { position: relative; display: inline-flex; }
.k24-pop__btn { background: none; border: 0; padding: 0; font: inherit; font-size: inherit; color: inherit; cursor: pointer; }
.k24-pop__btn:hover, .k24-pop__btn[aria-expanded="true"] { color: var(--k24-primary); text-decoration: underline; }
.k24-pop__panel {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 70;
	min-width: 200px;
	background: #fff;
	border: 1px solid var(--k24-line);
	box-shadow: 0 8px 24px rgba(20, 30, 50, .1);
	display: flex;
	flex-direction: column;
}
.k24-pop__panel[hidden] { display: none; }
.k24-pop__head { padding: 12px 18px 10px; border-bottom: 1px solid var(--k24-line); font-size: 12px; color: var(--k24-text); white-space: nowrap; }
.k24-pop__panel a { display: flex; align-items: center; gap: 10px; padding: 11px 18px; font-size: 12px; color: var(--k24-text); white-space: nowrap; }
.k24-pop__panel a:hover, .k24-pop__panel a:focus-visible { background: #f3f6fc; color: var(--k24-primary); outline: none; }
.k24-pop__panel svg { width: 16px; height: 16px; flex: none; }

/* ---------- Level badge ---------- */
.k24-pop { align-items: center; gap: 4px; }
.k24-lv {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	min-width: 20px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	font-style: normal;
	text-transform: none;
	letter-spacing: 0;
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .2);
	cursor: default;
}
.k24-lv svg { width: 11px; height: 11px; }
.k24-lv--new { background: #c3c8d0; text-shadow: none; }
.k24-lv--bronze { background: linear-gradient(135deg, #d9915a, #a8602f); }
.k24-lv--silver { background: linear-gradient(135deg, #c4ccd6, #8691a0); }
.k24-lv--gold { background: linear-gradient(135deg, #f7d24a, #d39a10); }
.k24-lv--platinum { background: linear-gradient(135deg, #5fd6c8, #23998f); }
.k24-lv--diamond { background: linear-gradient(135deg, #6fb5ff, #3b6fd9); }
.k24-lv--master { background: linear-gradient(135deg, #b47cff, #7a3fd6); }
.k24-lv--legend { background: linear-gradient(135deg, #ff6a5c, #e5322d 55%, #f7b733); }

/* ---------- Staff tag (after the name) ---------- */
.k24-staff {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	min-width: 15px;
	height: 15px;
	padding: 0 4px;
	border-radius: 3px;
	font-size: 9px;
	font-weight: 800;
	font-style: normal;
	line-height: 1;
	letter-spacing: .3px;
	text-transform: none;
	color: #fff;
	cursor: default;
}
.k24-staff--admin { background: var(--k24-red); }
.k24-staff--mod { background: #f08a00; }
.k24-staff--uploader { background: var(--k24-primary); }

/* ---------- Note write form ---------- */
.k24-noteform { max-width: none; margin-top: 4px; }
.k24-noteform__row { display: grid; grid-template-columns: 156px 1fr; align-items: start; gap: 0; margin-bottom: 16px; }
.k24-noteform__row > label, .k24-noteform__label { padding-top: 14px; font-size: 15px; color: #50565f; }
.k24-noteform input[type="text"],
.k24-noteform input[type="number"],
.k24-noteform textarea {
	width: 100%;
	border: 1px solid #d6dce8;
	background: #fff;
	padding: 0 16px;
	height: 50px;
	font: inherit;
	font-size: 15px;
	color: var(--k24-text);
}
.k24-noteform textarea { height: auto; min-height: 280px; padding: 14px 16px; line-height: 1.7; resize: vertical; }
.k24-noteform input:focus, .k24-noteform textarea:focus { outline: none; border-color: var(--k24-primary); }
.k24-noteform__to {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 50px;
	padding: 0 16px;
	background: #eef2fa;
	border: 1px solid #d6dce8;
	font-size: 16px;
}
.k24-noteform__to img { width: 20px; height: 20px; border-radius: 3px; }
.k24-noteform__to a { margin-left: auto; font-size: 12px; color: var(--k24-muted); }
.k24-noteform__to a:hover { color: var(--k24-primary); }
/* Give / deduct switch */
.k24-give__mode { display: flex; height: 50px; }
.k24-give__mode label {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 1px solid #d6dce8;
	background: #fff;
	font-size: 15px;
	color: #50565f;
	cursor: pointer;
}
.k24-give__mode label + label { border-left: 0; }
.k24-give__mode input { position: absolute; opacity: 0; pointer-events: none; }
.k24-give__mode label:has(input:checked) { background: var(--k24-primary); border-color: var(--k24-primary); color: #fff; font-weight: 700; }
.k24-give__mode label.is-deduct:has(input:checked) { background: var(--k24-red); border-color: var(--k24-red); }
.k24-give__mode label:has(input:focus-visible) { outline: 2px solid var(--k24-primary); outline-offset: 2px; }
[data-theme="dark"] .k24-give__mode label { background: var(--k24-surface); border-color: var(--k24-line); color: inherit; }
[data-theme="dark"] .k24-give__mode label:has(input:checked) { background: var(--k24-primary); border-color: var(--k24-primary); color: #fff; }
[data-theme="dark"] .k24-give__mode label.is-deduct:has(input:checked) { background: var(--k24-red); border-color: var(--k24-red); }
/* Ban members */
.k24-ban__now { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.k24-ban__now .k24-btn, .k24-my__table .k24-btn { width: auto; padding: 6px 14px; font-size: 13px; white-space: nowrap; }
.k24-banned { margin-left: 6px; color: var(--k24-red); font-weight: 700; }
.k24-pop__btn.is-banned { text-decoration: line-through; color: var(--k24-muted); }
#k24-ban-log { margin-top: 28px; } /* One blank line after the Banned now table or its pager. */

/* Member suggestions under a name field */
.k24-suggest { position: relative; }
.k24-suggest__list {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 60;
	max-height: 320px;
	overflow-y: auto;
	margin: 0;
	padding: 4px 0;
	list-style: none;
	background: #fff;
	border: 1px solid #d6dce8;
	box-shadow: 0 8px 24px rgba(20, 30, 50, .1);
}
.k24-suggest__list[hidden] { display: none; }
.k24-suggest__list li { display: flex; align-items: center; gap: 6px; padding: 9px 16px; font-size: 14px; cursor: pointer; }
.k24-suggest__list li.is-active, .k24-suggest__list li:hover { background: #f3f6fc; }
.k24-suggest__list img { width: 20px; height: 20px; border-radius: 3px; }
.k24-suggest__login { color: var(--k24-muted); font-size: 12px; }
.k24-suggest__pts { margin-left: auto; color: var(--k24-muted); font-size: 12px; }
[data-theme="dark"] .k24-suggest__list { background: var(--k24-surface); border-color: var(--k24-line); }
[data-theme="dark"] .k24-suggest__list li.is-active, [data-theme="dark"] .k24-suggest__list li:hover { background: rgba(255, 255, 255, .06); }
.k24-noteform__actions { display: flex; justify-content: space-between; align-items: center; margin-top: 26px; }
.k24-noteform__actions .k24-btn-line { height: 44px; padding: 0 20px; font-size: 15px; }
.k24-noteform__send { height: 50px; padding: 0 30px; font-size: 16px; }
.k24-note__title { margin: 14px 0 0; font-size: 17px; }

@media (max-width: 640px) {
	.k24-noteform__row { grid-template-columns: 1fr; }
	.k24-noteform__row > label, .k24-noteform__label { padding: 0 0 6px; }
}
.k24-pop__btn { font-weight: 700; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- [hide] ---------- */
.k24-bb-hide { margin: 14px 0; border: 1px dashed #c9d4ea; background: #f7f9fc; }
.k24-bb-hide.is-open .k24-bb-hide__label { display: flex; align-items: center; gap: 6px; padding: 6px 12px; border-bottom: 1px dashed #c9d4ea; font-size: 12px; font-weight: 700; color: var(--k24-primary); }
.k24-bb-hide__body { padding: 12px 14px; font-weight: 700; }
.k24-bb-hide.is-locked { display: flex; align-items: center; gap: 10px; padding: 18px 16px; color: #50565f; font-size: 14px; }
.k24-bb-hide.is-locked a { margin-left: auto; padding: 6px 14px; background: var(--k24-primary); color: #fff; font-size: 13px; font-weight: 700; white-space: nowrap; }
.k24-bb-hide.is-locked a:hover { background: #2f5ec4; color: #fff; }
.k24-bb-hide svg { width: 15px; height: 15px; flex: none; }
@media (max-width: 640px) { .k24-bb-hide.is-locked { flex-wrap: wrap; } .k24-bb-hide.is-locked a { margin-left: 0; } }

/* ---------- Login page ---------- */
.k24-auth { max-width: 315px; margin: 25px auto 35px; }
.k24-auth__title { margin: 0 0 20px; font-size: 22px; font-weight: 700; letter-spacing: -.5px; line-height: 1.1; }
.k24-auth .k24-flash { margin-bottom: 12px; font-size: 13px; }
.k24-auth__form { display: flex; flex-direction: column; margin: 0; }
.k24-auth__label { margin: 0 0 7px; font-size: 13px; font-weight: 700; }
.k24-auth__input {
	height: 30px;
	margin: 0 0 16px;
	padding: 0 9px;
	border: 1px solid #d6dce8;
	background: #fff;
	font: inherit;
	font-size: 13px;
	color: var(--k24-text);
}
.k24-auth__input:focus { outline: none; border-color: var(--k24-primary); box-shadow: 0 0 0 2px rgba(59, 111, 217, .12); }
.k24-auth__check { display: inline-flex; align-items: center; gap: 6px; margin: -5px 0 0; font-size: 12px; color: #3c424b; cursor: pointer; align-self: flex-start; }
.k24-auth__check input { width: 13px; height: 13px; margin: 0; accent-color: var(--k24-primary); cursor: pointer; }
.k24-auth__captcha { margin: 4px 0 0; min-height: 78px; } /* Reserves the widget's height so the form does not jump. */
.k24-auth__links { display: flex; justify-content: space-between; margin: 17px 0 15px; font-size: 12px; }
.k24-auth__links a { color: #50565f; text-decoration: underline; text-underline-offset: 2px; }
.k24-auth__links a:hover { color: var(--k24-primary); }
.k24-auth__submit {
	height: 30px;
	border: 0;
	background: var(--k24-primary);
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}
.k24-auth__submit:hover { background: #2f5ec4; }
.k24-auth__submit:disabled { opacity: .7; cursor: default; }

/* Header: guest links */
.k24-signup { padding: 0 14px; font-size: 15px; color: var(--k24-text); }
.k24-signup:hover { color: var(--k24-primary); }
.k24-login-btn { padding: 0 16px; font-weight: 500; text-transform: none; color: #50565f; }

@media (max-width: 640px) {
	.k24-auth { margin: 12px auto 20px; }
	.k24-auth__title { font-size: 18px; margin-bottom: 14px; }
	.k24-auth__label, .k24-auth__check, .k24-auth__links { font-size: 12px; }
	.k24-auth__input, .k24-auth__submit { height: 30px; }
	.k24-auth__input { margin-bottom: 12px; }
	.k24-signup { padding: 0 6px; font-size: 13px; }
}
.k24-auth__hint { margin: -12px 0 14px; font-size: 11px; color: var(--k24-muted); }
.k24-auth__intro { margin: -8px 0 16px; font-size: 13px; color: #50565f; line-height: 1.6; }
.k24-auth__links span { color: #50565f; }
.k24-auth__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Theme toggle ---------- */
.k24-theme-toggle svg + svg { display: none; }
[data-theme="dark"] .k24-theme-toggle svg:first-child { display: none; }
[data-theme="dark"] .k24-theme-toggle svg + svg { display: block; }

/* ---------- Dark mode: charcoal + blue ---------- */
[data-theme="dark"] {
	color-scheme: dark;
	--k24-primary: #3b6fd9;
	--k24-primary-hover: #5583e3;
	--k24-primary-soft: #2a3346;
	--k24-red: #ff5a4f;
	--k24-text: #ededed;
	--k24-muted: #9a9a9a;
	--k24-line: #3d3d3d;
	--k24-bg: #2a2a2a;
	--k24-page: #1f1f1f;
	--k24-frame: 0 0 0 1px rgba(255, 255, 255, .04), 0 0 22px rgba(0, 0, 0, .55);
	--k24-surface: #323232;
	--k24-surface-2: #393939;
	--k24-strong: #474747;
	--k24-sub: #c2c2c2;
	--k24-footer: #1e1e1e;
	--k24-gold: #4a3816;
	--k24-gold-num: #6e5118;
	--k24-silver: #383838;
	--k24-silver-num: #484848;
	--k24-bronze: #44281c;
	--k24-bronze-num: #63321f;
}

/* surfaces that were plain white */
[data-theme="dark"] .k24-header,
[data-theme="dark"] .k24-nav .sub-menu,
[data-theme="dark"] .k24-nav .children,
[data-theme="dark"] .k24-act,
[data-theme="dark"] button.k24-user,
[data-theme="dark"] .k24-usermenu__panel,
[data-theme="dark"] .k24-notify__panel,
[data-theme="dark"] .k24-chat__more,
[data-theme="dark"] .k24-ed__titlerow,
[data-theme="dark"] .k24-ed__pop,
[data-theme="dark"] .k24-ed__box,
[data-theme="dark"] .k24-ed__preview,
[data-theme="dark"] .k24-ed__tags,
[data-theme="dark"] .k24-ed__lock,
[data-theme="dark"] .k24-post__owner a,
[data-theme="dark"] .k24-post__owner button,
[data-theme="dark"] .k24-pop__panel,
[data-theme="dark"] .k24-my__fieldset,
[data-theme="dark"] .k24-note__actions button.k24-btn-line { background: var(--k24-surface); }
[data-theme="dark"] .k24-header { background: var(--k24-footer); border-bottom: 0; }
@media (max-width: 900px) { [data-theme="dark"] .k24-nav { background: var(--k24-surface); } }

/* form fields */
[data-theme="dark"] .k24-cform textarea,
[data-theme="dark"] .k24-cform input[type="text"],
[data-theme="dark"] .k24-cform input[type="email"],
[data-theme="dark"] .k24-cform input[type="url"],
[data-theme="dark"] .k24-noteform input[type="text"],
[data-theme="dark"] .k24-noteform input[type="number"],
[data-theme="dark"] .k24-noteform textarea,
[data-theme="dark"] .k24-auth__input,
[data-theme="dark"] .k24-board__search input,
[data-theme="dark"] .k24-members__search select,
[data-theme="dark"] .k24-pager__form input,
[data-theme="dark"] .k24-ed__title,
[data-theme="dark"] .k24-ed__text,
[data-theme="dark"] .k24-ed__tags input,
[data-theme="dark"] .k24-ed__help code {
	background: var(--k24-bg);
	color: var(--k24-text);
	border-color: var(--k24-strong);
}
[data-theme="dark"] .k24-ed__size { background-color: var(--k24-bg); color: var(--k24-text); border-color: var(--k24-strong); }
[data-theme="dark"] .k24-auth__input:focus { box-shadow: 0 0 0 3px rgba(59, 111, 217, .28); }

/* tinted panels */
[data-theme="dark"] .k24-icon-btn:hover,
[data-theme="dark"] .k24-pop__panel a:hover,
[data-theme="dark"] .k24-pop__panel a:focus-visible,
[data-theme="dark"] .k24-board__table tbody tr:not(:has(.k24-empty)):hover td { background: var(--k24-surface-2); }
[data-theme="dark"] .k24-king .is-empty,
[data-theme="dark"] .k24-cform,
[data-theme="dark"] .k24-cmt__mention,
[data-theme="dark"] .k24-progress,
[data-theme="dark"] .k24-chat__quote,
[data-theme="dark"] .k24-chat__replybar,
[data-theme="dark"] .k24-ed__help,
[data-theme="dark"] .k24-ed__toolbar,
[data-theme="dark"] .k24-ed__titlecolor,
[data-theme="dark"] .k24-bb-quote,
[data-theme="dark"] .k24-bb-spoiler summary,
[data-theme="dark"] .k24-bb-table th,
[data-theme="dark"] .k24-bb-hide,
[data-theme="dark"] .k24-noteform__to,
[data-theme="dark"] .k24-board__table tr.is-pinned td { background: var(--k24-surface); }
[data-theme="dark"] .k24-ed__cat { background-color: var(--k24-surface); color: var(--k24-text); }
[data-theme="dark"] .k24-board__table tbody tr.is-pinned:hover td,
[data-theme="dark"] .k24-ed__titlecolor:hover,
[data-theme="dark"] .k24-ed__btn:hover:not(:disabled),
[data-theme="dark"] .k24-ed__btn[aria-expanded="true"] { background: var(--k24-strong); }
[data-theme="dark"] .k24-card__thumb { background: linear-gradient(180deg, #363636, #303030); }
[data-theme="dark"] .k24-card__ph { background: rgba(255, 255, 255, .06); color: #6a6a6a; }
[data-theme="dark"] .k24-bb-code { background: #1e1e1e; border: 1px solid var(--k24-line); }
@keyframes k24-flash-dark { 0%, 30% { background: #3a2508; } 100% { background: transparent; } }
[data-theme="dark"] .k24-chat__msg.is-flash { animation-name: k24-flash-dark; }

/* chat online users: right column and the @mention box */
[data-theme="dark"] .k24-chat__users { background: var(--k24-surface); }
[data-theme="dark"] .k24-chat__online { background: var(--k24-surface); border-color: var(--k24-strong); box-shadow: 0 8px 22px rgba(0, 0, 0, .5); }
[data-theme="dark"] .k24-chat__online-item.is-active { background: var(--k24-surface-2); }
[data-theme="dark"] .k24-chat__users-list { scrollbar-color: #555 transparent; }
[data-theme="dark"] .k24-chat__online-head,
[data-theme="dark"] .k24-chat__users-count,
[data-theme="dark"] .k24-chat__online-you,
[data-theme="dark"] .k24-chat__online-empty,
[data-theme="dark"] .k24-chat__users-empty,
[data-theme="dark"] .k24-chat__user.is-hidden .k24-chat__user-name,
[data-theme="dark"] .k24-chat__online-item.is-hidden .k24-chat__online-name { color: var(--k24-muted); }
[data-theme="dark"] button.k24-chat__user-name:hover { color: var(--k24-primary-hover); }

/* borders */
[data-theme="dark"] .k24-ed__titlerow,
[data-theme="dark"] .k24-ed__box,
[data-theme="dark"] .k24-ed__tags,
[data-theme="dark"] .k24-ed__preview,
[data-theme="dark"] .k24-ed__toolbar,
[data-theme="dark"] .k24-ed__cat,
[data-theme="dark"] .k24-ed__titlecolor,
[data-theme="dark"] .k24-noteform__to,
[data-theme="dark"] .k24-bb-table th,
[data-theme="dark"] .k24-bb-table td { border-color: var(--k24-strong); }
[data-theme="dark"] .k24-ed__sep { background: var(--k24-strong); }
[data-theme="dark"] .k24-board__table th { border-bottom-color: #555; }
[data-theme="dark"] .k24-comments__list .children { border-left-color: var(--k24-line); }
[data-theme="dark"] .k24-chat__day::before,
[data-theme="dark"] .k24-chat__day::after { background: var(--k24-line); }
[data-theme="dark"] .k24-bb-hide,
[data-theme="dark"] .k24-bb-hide.is-open .k24-bb-hide__label { border-color: var(--k24-strong); }
[data-theme="dark"] .k24-bb-quote,
[data-theme="dark"] .k24-chat__quote { border-left-color: var(--k24-primary); }
[data-theme="dark"] .k24-act:hover,
[data-theme="dark"] .k24-chat__more:hover,
[data-theme="dark"] .k24-post__owner a:hover,
[data-theme="dark"] button.k24-user:hover,
[data-theme="dark"] button.k24-user[aria-expanded="true"] { border-color: var(--k24-primary); }
[data-theme="dark"] .k24-post__owner button:hover,
[data-theme="dark"] .k24-act.is-danger:hover { border-color: #6b2620; background: #2a1210; }
[data-theme="dark"] .k24-chat__log { scrollbar-color: #555 transparent; }

/* secondary text that was dark grey */
[data-theme="dark"] .k24-icon-btn,
[data-theme="dark"] .k24-side .k24-side__home,
[data-theme="dark"] .k24-act,
[data-theme="dark"] .k24-btn-line,
[data-theme="dark"] .k24-cmt__mention,
[data-theme="dark"] .k24-cmt__like,
[data-theme="dark"] .k24-chat__quote,
[data-theme="dark"] .k24-chat__more,
[data-theme="dark"] .k24-chat__login,
[data-theme="dark"] .k24-chat__replybar-text,
[data-theme="dark"] .k24-board__table th,
[data-theme="dark"] .k24-board__table .k24-board__num,
[data-theme="dark"] .k24-board__table .k24-board__cat,
[data-theme="dark"] .k24-board__table td.k24-board__cat a,
[data-theme="dark"] .k24-board__table .k24-board__date,
[data-theme="dark"] .k24-board__table .k24-board__views,
[data-theme="dark"] .k24-board__table .k24-board__owner,
[data-theme="dark"] .k24-pager__btn,
[data-theme="dark"] .k24-usermenu__points .k24-usermenu__label,
[data-theme="dark"] .k24-usermenu__note svg,
[data-theme="dark"] .k24-usermenu__logout,
[data-theme="dark"] .k24-ed__btn,
[data-theme="dark"] .k24-ed__preview,
[data-theme="dark"] .k24-ed__lock,
[data-theme="dark"] .k24-ed__chip button,
[data-theme="dark"] .k24-post__owner a,
[data-theme="dark"] .k24-post__owner button,
[data-theme="dark"] .k24-bb-quote,
[data-theme="dark"] .k24-bb-spoiler summary,
[data-theme="dark"] .k24-bb-hide.is-locked,
[data-theme="dark"] .k24-noteform__row > label,
[data-theme="dark"] .k24-noteform__label,
[data-theme="dark"] .k24-auth__check,
[data-theme="dark"] .k24-auth__links a,
[data-theme="dark"] .k24-auth__links span,
[data-theme="dark"] .k24-auth__intro,
[data-theme="dark"] .k24-login-btn { color: var(--k24-sub); }
[data-theme="dark"] .k24-crumb b,
[data-theme="dark"] .k24-cmt__author,
[data-theme="dark"] .k24-chat__quote-name,
[data-theme="dark"] .k24-bb-quote cite,
[data-theme="dark"] .k24-list__cat,
[data-theme="dark"] .k24-my__cmeta a { color: var(--k24-text); }
[data-theme="dark"] .k24-crumb span,
[data-theme="dark"] .k24-btn-line.is-disabled,
[data-theme="dark"] .k24-pager__btn.is-disabled { color: #5c5c5c; }
[data-theme="dark"] .k24-pager__btn.is-current { color: #fff; }
[data-theme="dark"] .k24-board__new { background: var(--k24-primary); color: #fff; }
[data-theme="dark"] .k24-board__table td.k24-board__title a.is-notice { color: var(--k24-primary); }
[data-theme="dark"] .k24-ed__titlecolor span { border-bottom-color: var(--k24-text); }

/* blue accents: hover states and tinted chips */
[data-theme="dark"] .k24-btn:hover,
[data-theme="dark"] .k24-cform__submit:hover,
[data-theme="dark"] .k24-chat__send:hover,
[data-theme="dark"] .k24-ed__upload:hover,
[data-theme="dark"] .k24-new-topic:hover,
[data-theme="dark"] .k24-bb-hide.is-locked a:hover,
[data-theme="dark"] .k24-auth__submit:hover { background: var(--k24-primary-hover); }
[data-theme="dark"] .k24-btn,
[data-theme="dark"] .k24-btn:hover,
[data-theme="dark"] .k24-badge,
[data-theme="dark"] .k24-cform__submit,
[data-theme="dark"] .k24-chat__send,
[data-theme="dark"] .k24-chat__send:hover,
[data-theme="dark"] .k24-new-topic,
[data-theme="dark"] .k24-new-topic:hover,
[data-theme="dark"] .k24-ed__upload,
[data-theme="dark"] .k24-ed__preview[aria-pressed="true"],
[data-theme="dark"] .k24-pagination .current,
[data-theme="dark"] .k24-bb-hide.is-locked a,
[data-theme="dark"] .k24-bb-hide.is-locked a:hover,
[data-theme="dark"] .k24-auth__submit { color: #fff; }
[data-theme="dark"] .k24-btn[disabled] { background: #33415f; color: #8496bb; }
[data-theme="dark"] .k24-post__body a.k24-dl,
[data-theme="dark"] .k24-post__body .wp-block-button__link,
[data-theme="dark"] .k24-ed__chip,
[data-theme="dark"] .k24-post__tags a,
[data-theme="dark"] .k24-flash--info { color: #9dbcf5; }
[data-theme="dark"] .k24-post__tags a:hover,
[data-theme="dark"] .k24-ed__chip button:hover { background: #34415e; }
[data-theme="dark"] .k24-flash { background: #10261a; color: #6fd394; }
[data-theme="dark"] .k24-flash.is-error,
[data-theme="dark"] .k24-chat__error { background: #2a1210; color: #ff8a80; }
[data-theme="dark"] .k24-flash--info { background: var(--k24-primary-soft); color: #9dbcf5; }
[data-theme="dark"] .k24-top { background: var(--k24-primary); color: #fff; }
/* text links: white, blue on hover */
:where([data-theme="dark"]) a { color: #fff; }
:where([data-theme="dark"]) a:hover { color: var(--k24-primary); }
[data-theme="dark"] :is(.k24-card__cat, .k24-list__title.is-notice, .k24-post__body a:not(.k24-dl):not(.wp-block-button__link), .k24-my__avatar a, .k24-flash--info a, .k24-board__table td.k24-board__title a.is-notice) { color: #fff; }
[data-theme="dark"] :is(.k24-card__cat, .k24-list__title.is-notice, .k24-post__body a:not(.k24-dl):not(.wp-block-button__link), .k24-my__avatar a, .k24-flash--info a, .k24-board__table td.k24-board__title a.is-notice):hover { color: var(--k24-primary); }
[data-theme="dark"] .k24-bb mark,
[data-theme="dark"] .k24-cmt__text mark { color: #111; }
