/*
 * BeKhmer 0.5.64
 * Full visual redesign for phpBB 3.3.17.
 * Parent: prosilver for maintained phpBB functionality.
 */

:root {
	--bk-bg: #eee7dd;
	--bk-shell: #fcfaf6;
	--bk-paper: #ffffff;
	--bk-cream: #fbf4e9;
	--bk-cream-2: #f7ede0;
	--bk-maroon: #8d1117;
	--bk-maroon-dark: #650b10;
	--bk-maroon-deep: #4d080c;
	--bk-gold: #c89534;
	--bk-gold-soft: #e5c67d;
	--bk-ink: #2c211d;
	--bk-muted: #786b64;
	--bk-line: #eadfd3;
	--bk-shadow: 0 14px 38px rgba(62, 42, 30, .09);
	--bk-radius: 12px;
	--bk-serif: "Cormorant Garamond", Georgia, serif;
	--bk-sans: "Source Sans 3", Arial, sans-serif;

	/* v0.4.14 universal typography and UI scale */
	--bk-text-xs: 12px;
	--bk-text-sm: 14px;
	--bk-text-md: 16px;
	--bk-text-lg: 18px;
	--bk-text-xl: 24px;
	--bk-text-2xl: 34px;
	--bk-leading-tight: 1.25;
	--bk-leading-body: 1.55;
	--bk-weight-medium: 600;
	--bk-weight-bold: 700;
	--bk-control-height: 38px;
}

* { box-sizing: border-box; }
html { background: var(--bk-bg); font-size: 16px; }
body {
	margin: 0;
	padding: 0;
	background: radial-gradient(circle at 12% 0%, rgba(200,149,52,.08), transparent 28rem), var(--bk-bg);
	color: var(--bk-ink);
	font: var(--bk-text-md)/var(--bk-leading-body) var(--bk-sans);
	-webkit-font-smoothing: antialiased;
}
a, a:link, a:visited { color: var(--bk-maroon); text-decoration: none; }
a:hover, a:focus { color: var(--bk-maroon-dark); text-decoration: none; }

.wrap {
	width: min(calc(100% - 42px), 1380px);
	max-width: none;
	margin: 18px auto;
	padding: 0;
	background: var(--bk-shell);
	border: 0;
	border-radius: 22px;
	box-shadow: 0 12px 32px rgba(55, 37, 27, .08);
	overflow: hidden;
}

/* ===== Site header: matches the BeKhmer portal ===== */
.bk-site-header { background: var(--bk-paper); }
.bk-brand-strip {
	min-height: 108px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 20px 36px 18px;
	background: linear-gradient(180deg, #fff 0%, #fcf8f2 100%);
	border-bottom: 1px solid var(--bk-line);
}
.bk-logo { display: block; flex: 0 1 330px; }
.bk-logo img { width: 310px; max-width: 100%; height: auto; display: block; }
.bk-motto { text-align: right; color: #7d604f; }
.bk-motto strong {
	display: inline-block;
	padding-bottom: 5px;
	border-bottom: 1px solid #d1b99d;
	font: italic 600 21px/1.1 var(--bk-serif);
	color: #8e5438;
}
.bk-motto span { display: block; margin-top: 9px; font-size: 12px; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; }
.bk-motto i { padding: 0 5px; color: #ba9671; font-style: normal; }

.bk-primary-nav {
	min-height: 64px;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 24px;
	padding: 0 36px;
	background: #fff;
	border-bottom: 1px solid #e8ddd2;
}
.bk-primary-links { display: flex; align-items: stretch; gap: 31px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.bk-primary-links::-webkit-scrollbar { display:none; }
.bk-primary-links a {
	position: relative;
	display: flex;
	align-items: center;
	color: #574741;
	font-size: var(--bk-text-md);
	font-weight: 600;
	white-space: nowrap;
}
.bk-primary-links a:hover, .bk-primary-links a.active-forum { color: var(--bk-maroon); }
.bk-primary-links a.active-forum::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; border-radius:4px 4px 0 0; background:var(--bk-maroon); }
.bk-primary-actions { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.bk-nav-search { width:38px; height:38px; display:grid; place-items:center; color:var(--bk-maroon)!important; border-right:1px solid #e1d4c8; padding-right:12px; }
.bk-account-name { max-width: 135px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; color:#6d2c2e!important; }
.bk-enter-button { padding: 10px 18px; border-radius:8px; background:linear-gradient(180deg,#a4171d,#7f1015); color:#fff!important; font-weight:700; box-shadow:0 7px 16px rgba(124,16,21,.18); }

.bk-forum-hero {
	position: relative;
	min-height: 300px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	padding: 34px 36px;
	background: url("/assets/images/bekhmer/bekhmer-hero-v0500.webp") center center / cover no-repeat;
	overflow:hidden;
	isolation:isolate;
}
.bk-forum-hero-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(12,10,8,.70) 0%,rgba(25,18,11,.52) 28%,rgba(49,32,18,.16) 58%,rgba(16,12,9,.42) 82%,rgba(11,9,7,.56) 100%); }
.bk-forum-hero::after { content:""; position:absolute; inset:auto 0 0; height:34%; z-index:-1; background:linear-gradient(0deg,rgba(12,8,6,.28),transparent); }
.bk-forum-hero-copy { max-width: 600px; color:#fff; }
.bk-hero-kicker { display:flex; align-items:center; gap:14px; color:#f0dfb4; font:600 19px/1.15 var(--bk-serif); text-shadow:0 2px 8px rgba(0,0,0,.46); }
.bk-hero-kicker::after { content:""; width:105px; height:1px; background:#d6b46e; }
.bk-forum-hero h1 { margin:8px 0 8px; color:#fff; font:600 55px/.94 var(--bk-serif); letter-spacing:-.025em; text-shadow:0 3px 14px rgba(0,0,0,.52); }
.bk-forum-hero h1 em { color:#e9bd62; font-style:normal; }
.bk-forum-hero p { max-width:560px; margin:0; color:#fbf5ee; font-size:16px; line-height:1.55; text-shadow:0 2px 10px rgba(0,0,0,.50); }
.bk-hero-actions { display:flex; gap:12px; margin-top:20px; }
.bk-hero-button { min-height:43px; display:inline-flex; align-items:center; justify-content:center; padding:0 20px; border-radius:8px; font-weight:700; }
.bk-hero-button.primary { background:linear-gradient(180deg,#ae1c22,#861116); color:#fff!important; box-shadow:0 8px 18px rgba(125,15,20,.24); }
.bk-hero-button.ghost { border:1px solid rgba(255,255,255,.58); color:#fff!important; background:rgba(20,12,8,.18); }
.bk-hero-message { align-self:flex-end; margin:0 75px 8px 0; text-align:right; color:#fff; text-shadow:0 3px 12px rgba(0,0,0,.58); }
.bk-hero-message strong { display:block; margin-bottom:6px; font-family:"Noto Serif Khmer",serif; font-size:20px; font-weight:600; text-shadow:0 3px 12px rgba(0,0,0,.58); }
.bk-hero-message span { font:500 17px/1.25 var(--bk-serif); text-shadow:0 3px 12px rgba(0,0,0,.58); }
.bk-hero-message em { color:#ecd6b9; }

/* ===== Forum utilities and breadcrumbs ===== */
.bk-utility {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	min-height:52px;
	padding:8px 36px;
	background:#fff;
	border-bottom:1px solid var(--bk-line);
}
.bk-utility-left, .bk-utility-right { display:flex; align-items:center; gap:8px; }
.bk-utility-link, .bk-icon-link, .bk-user-chip {
	display:inline-flex;
	align-items:center;
	gap:6px;
	min-height:34px;
	padding:0 10px;
	border-radius:7px;
	color:#62524b!important;
	font-size:var(--bk-text-sm);
	font-weight:600;
}
.bk-utility-link:hover, .bk-icon-link:hover, .bk-user-chip:hover { background:#f7efe5; color:var(--bk-maroon)!important; }
.bk-utility-link.strong { background:#f4e6d4; color:var(--bk-maroon)!important; }
.bk-icon-link { position:relative; width:34px; justify-content:center; padding:0; }
.bk-icon-link .badge { position:absolute; right:-2px; top:-2px; min-width:16px; height:16px; padding:0 4px; border-radius:99px; background:var(--bk-maroon); color:#fff; font-size:var(--bk-text-xs); line-height:16px; text-align:center; }
.bk-user-chip img { width:25px; height:25px; border-radius:50%; object-fit:cover; }
.bk-breadcrumb-row { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:45px; padding:0 36px; background:#fbf8f4; border-bottom:1px solid #e9dfd5; }
.bk-breadcrumbs { min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:0; color:#88786f; font-size:var(--bk-text-xs); }
.bk-breadcrumbs .crumb { display:inline-flex; align-items:center; }
.bk-breadcrumbs .crumb + .crumb::before { content:"›"; padding:0 9px; color:#b09888; }
.bk-breadcrumbs a { color:#75645d; }
.bk-breadcrumbs .crumb:last-child a { color:var(--bk-maroon); font-weight:600; }
.bk-breadcrumb-search { color:var(--bk-maroon)!important; }

.dropdown .dropdown-contents { background:#fffdf9; border-color:#dccbb9; border-radius:9px; box-shadow:0 12px 28px rgba(52,35,25,.14); }
.dropdown-contents a { color:#5f4840!important; }
.dropdown-contents a:hover { background:#f7eee4; color:var(--bk-maroon)!important; }

/* ===== Page body ===== */
.bk-page-body, .page-body { margin:0; padding: 28px 36px 34px; background:var(--bk-shell); }
.bk-board-disabled { margin:0 0 20px; }
.rules { border:1px solid #e2be72; border-radius:9px; background:#fff3d8; color:#694b18; }

.bk-community-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin:0 0 20px; }
.bk-eyebrow { display:block; margin-bottom:3px; color:#a66830; font:600 16px/1.1 var(--bk-serif); }
.bk-community-heading h2 { margin:0; color:#3c2923; font:600 36px/1 var(--bk-serif); letter-spacing:-.015em; }
.bk-community-heading p { margin:6px 0 0; color:var(--bk-muted); font-size:14px; }
.bk-index-tools { display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:#877a72; font-size:var(--bk-text-xs); white-space:nowrap; }
.bk-index-tools a { font-weight:600; }

/* ===== Custom forum index cards ===== */
.bk-forum-section { margin:0 0 20px; border:1px solid var(--bk-line); border-radius:12px; background:#fff; box-shadow:0 5px 16px rgba(64,43,29,.05); overflow:hidden; }
.bk-section-header { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:11px 16px; background:linear-gradient(90deg,#7f1015,#9d2428); color:#fff; }
.bk-section-header > div { display:flex; align-items:center; gap:10px; }
.bk-section-accent { width:3px; height:19px; border-radius:99px; background:#e8bd64; }
.bk-section-header h2 { margin:0; color:#fff!important; font:700 14px/1.2 var(--bk-sans); text-transform:uppercase; letter-spacing:.03em; }
.bk-section-header h2 a { color:#fff!important; }
.bk-section-label { color:#edd8c0; font-size:var(--bk-text-xs); }
.bk-forum-grid { background:#fff; }
.bk-forum-card { display:grid; grid-template-columns:48px minmax(0,1fr) 130px minmax(205px, .8fr); gap:16px; align-items:center; min-height:96px; padding:15px 16px; border-bottom:1px solid #eee5dc; background:#fff; transition:.15s ease; }
.bk-forum-card:last-child { border-bottom:0; }
.bk-forum-card:hover { background:#fffaf4; }
.bk-forum-icon { width:39px; height:39px; display:grid; place-items:center; border-radius:50%; border:1px solid #d9bc80; background:#fbf1df; color:#9b651f; font-size:17px; }
.bk-forum-card.forum_unread .bk-forum-icon, .bk-forum-card.forum_unread_subforum .bk-forum-icon { border-color:#9a262a; background:#8b1419; color:#fff; }
.bk-forum-main { min-width:0; }
.bk-forum-title { display:inline-block; color:#6f1c20!important; font-size:var(--bk-text-lg); font-weight:700; line-height:1.2; }
.bk-forum-desc { margin-top:4px; color:#75675f; font-size:var(--bk-text-sm); line-height:1.5; }
.bk-subforums { margin-top:6px; color:#8b7d74; font-size:var(--bk-text-xs); }
.bk-subforums strong { color:#75645d; }
.bk-subforums a { margin:0 4px; font-weight:600; }
.bk-forum-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; text-align:center; }
.bk-forum-stats div { padding:7px 4px; border-radius:8px; background:#faf5ed; }
.bk-forum-stats strong, .bk-forum-stat strong { display:block; color:#2f2420; font-size:17px; line-height:1; }
.bk-forum-stats span, .bk-forum-stat span { display:block; margin-top:3px; color:#9a8a80; font-size:var(--bk-text-xs); text-transform:uppercase; letter-spacing:.05em; }
.bk-forum-latest { min-width:0; padding-left:15px; border-left:1px solid #ecdfd2; display:flex; flex-direction:column; gap:2px; color:#82736b; font-size:var(--bk-text-xs); }
.bk-latest-label { color:#a28e80; font-size:var(--bk-text-xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.bk-latest-title { color:#652024!important; font-size:var(--bk-text-xs); font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bk-forum-latest time { color:#9a8a81; }
.bk-empty-card { padding:25px; border:1px solid var(--bk-line); border-radius:10px; background:#fff; }

/* ===== Community info cards ===== */
.bk-community-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:18px; }
.bk-info-card { position:relative; min-height:155px; padding:18px 18px 16px; border:1px solid var(--bk-line); border-radius:11px; background:linear-gradient(180deg,#fff,#fdf9f3); overflow:hidden; }
.bk-info-card::after { content:""; position:absolute; right:-26px; bottom:-32px; width:110px; height:110px; border:1px solid rgba(199,149,53,.14); border-radius:50%; }
.bk-info-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:#f4e4c4; color:#9c681f; }
.bk-info-card h3 { margin:11px 0 6px; color:#6f1d20; font-size:var(--bk-text-sm); text-transform:uppercase; letter-spacing:.02em; }
.bk-info-card h3 a { color:inherit; }
.bk-info-card p { margin:0; color:#60534c; font-size:var(--bk-text-sm); line-height:1.45; }
.bk-info-detail { margin-top:9px!important; color:#8c7c73!important; font-size:11px!important; }
.bk-login-card { display:grid; grid-template-columns:1fr 1.2fr; align-items:end; gap:30px; margin:20px 0; padding:22px; border:1px solid var(--bk-line); border-radius:12px; background:#fff; }
.bk-login-card h3 { margin:0; color:#4c322b; font:600 27px/1 var(--bk-serif); }
.bk-login-card p { margin:6px 0 0; color:#796c65; }
.bk-login-card form { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; }
.bk-login-card label span { display:block; margin-bottom:4px; color:#77665d; font-size:var(--bk-text-xs); font-weight:600; }

/* ===== Make inherited forum/topic pages feel custom, not prosilver ===== */
h2.forum-title, h2.topic-title, .topic-title, .forum-title { margin:0 0 14px; color:#4d3028; font:600 34px/1.05 var(--bk-serif); letter-spacing:-.015em; }
h2.forum-title a, h2.topic-title a { color:#4d3028!important; }
.action-bar { margin:0 0 14px; }
.action-bar.bar-bottom { margin-top:16px; }

.forabg, .forumbg {
	margin:0 0 18px;
	padding:0;
	border:1px solid var(--bk-line);
	border-radius:12px;
	background:#fff;
	box-shadow:0 5px 16px rgba(64,43,29,.045);
	overflow:hidden;
}
.forabg .inner, .forumbg .inner { margin:0; }
ul.topiclist li.header { padding:11px 14px; background:linear-gradient(90deg,#7e1015,#9c2529); color:#fff; }
ul.topiclist li.header dt, ul.topiclist li.header dd, ul.topiclist li.header a { color:#fff!important; font-size:var(--bk-text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
ul.topiclist li.row { margin:0; padding:5px 0; border-top:0; border-bottom:1px solid #eee5dd; background:#fff; }
ul.topiclist li.row:last-child { border-bottom:0; }
ul.topiclist li.row:nth-child(even) { background:#fefaf5; }
ul.topiclist li.row:hover { background:#fff6e9; }
ul.topiclist dl.row-item { padding-top:8px; padding-bottom:8px; }
.forumtitle, .topictitle { color:#6e1d20!important; font-size:var(--bk-text-md); font-weight:700; }
.topictitle:hover, .forumtitle:hover { color:#a02d31!important; }
ul.topiclist dd { color:#70635d; }
.lastpost, .lastpost a { font-size:var(--bk-text-xs); }

/* On forum listing pages, make each topic row read like a discussion card. */
body.section-viewforum .forumbg { border:0; background:transparent; box-shadow:none; overflow:visible; }
body.section-viewforum .forumbg ul.topiclist:first-child { border:1px solid var(--bk-line); border-radius:10px 10px 0 0; overflow:hidden; }
body.section-viewforum .forumbg ul.topiclist.topics { display:flex; flex-direction:column; gap:9px; margin-top:10px; }
body.section-viewforum .forumbg ul.topiclist.topics > li.row { border:1px solid var(--bk-line); border-radius:10px; box-shadow:0 3px 10px rgba(62,42,29,.04); background:#fff; }
body.section-viewforum .forumbg ul.topiclist.topics > li.row:hover { background:#fffaf4; border-color:#dfc8ae; }
body.section-viewforum .forumbg ul.topiclist.topics dl.row-item { min-height:70px; padding:12px 10px 12px 52px; }

.panel, .bg1, .bg2, .bg3 { border-color:var(--bk-line); background:#fff; }
.panel { margin-bottom:15px; padding:16px 18px; border:1px solid var(--bk-line); border-radius:11px; box-shadow:0 4px 14px rgba(62,42,29,.04); }
.bg1 { background:#fff; }
.bg2 { background:#fdf8f1; }
.bg3 { background:#f8efe4; }

/* Topic posts: card layout with a distinct author rail. */
.post { position:relative; margin:0 0 16px; padding:0; border:1px solid var(--bk-line); border-radius:12px; background:#fff; box-shadow:0 5px 16px rgba(62,42,29,.05); overflow:hidden; }
.postbody { width:calc(100% - 220px); padding:18px 22px 20px; }
.postbody .content { color:#382d28; font-size:var(--bk-text-md); line-height:1.7; }
.postbody h3 { margin-top:0; color:#562028; font:600 23px/1.1 var(--bk-serif); }
.postprofile { width:220px; margin:0; padding:18px 16px; border:0; border-left:1px solid #eadccc; background:linear-gradient(180deg,#fbf5eb,#f8eee1); color:#74665e; }
.postprofile dt, .postprofile dd { margin-left:0; }
.postprofile .avatar img { border-radius:10px; box-shadow:0 4px 12px rgba(55,38,27,.11); }
.postprofile strong, .postprofile a { color:#751f23!important; }
.postprofile .has-profile-rank { margin-bottom:6px; }
.post-buttons { right:14px; top:13px; }
.signature { border-top-color:#eadccc; color:#786a63; }
blockquote { margin:10px 0; padding:12px 14px; border:0; border-left:4px solid var(--bk-gold); border-radius:7px; background:#fbf2e4; color:#51453e; }
.codebox { border:1px solid #ddcbb0; border-radius:8px; background:#fbf7ef; }

/* phpBB marks online users with an image background on .online.
   In the redesigned topic cards, force that ribbon to behave like a small
   corner indicator instead of repeating across the entire post body. */
.online,
.panel.online,
.post.online,
.post.bg1.online,
.post.bg2.online,
.post.bg3.online,
#viewprofile .online {
	background-repeat: no-repeat !important;
	background-position: calc(100% - 14px) 14px !important;
	background-size: auto !important;
}
.post.online .postbody,
.post.bg1.online .postbody,
.post.bg2.online .postbody,
.post.bg3.online .postbody {
	background-image: none !important;
}

/* Buttons, forms and pagination */
.button, a.button { border:1px solid #d8c4aa; border-radius:9px; background:linear-gradient(180deg,#fffdf9,#f5eadb); box-shadow:0 3px 8px rgba(71,45,27,.07); color:#6f1c20!important; font-family:var(--bk-sans); font-weight:700; text-shadow:none; }
.button:hover, a.button:hover, .button:focus, a.button:focus { border-color:#c79b4a; background:#fff6e8; color:#8a151a!important; }
.button1, input.button1, a.button1 { border:1px solid #741015; border-radius:9px; background:linear-gradient(180deg,#a91a20,#781015); box-shadow:0 5px 12px rgba(124,16,21,.16), inset 0 1px rgba(255,255,255,.14); color:#fff!important; font-family:var(--bk-sans); font-weight:700; text-shadow:none; }
.button1:hover, input.button1:hover, a.button1:hover, .button1:focus { border-color:#5f090d; background:linear-gradient(180deg,#94151a,#650b0f); color:#fff!important; }
.button2, input.button2, a.button2 { border:1px solid #c99d4d; border-radius:9px; background:linear-gradient(180deg,#fff8e9,#f1dfbd); box-shadow:0 3px 9px rgba(96,63,28,.08); color:#6c2023!important; font-family:var(--bk-sans); font-weight:700; text-shadow:none; }
.button2:hover, input.button2:hover, a.button2:hover, .button2:focus { border-color:#a97829; background:#f8e7c6; color:#7e1116!important; }
.button .icon, .button1 .icon, .button2 .icon { color:inherit!important; }
.inputbox, textarea, select { border:1px solid #d9c9b7; border-radius:7px; background:#fff; color:var(--bk-ink); font-family:var(--bk-sans); }
.inputbox:focus, textarea:focus, select:focus { border-color:#c79436; box-shadow:0 0 0 2px rgba(199,148,52,.13); }
select { min-height:34px; padding:4px 30px 4px 9px; accent-color:var(--bk-maroon); }
.jumpbox .dropdown-trigger, .jumpbox .button { border-color:#c99d4d!important; background:linear-gradient(180deg,#fff9ec,#f1dfbd)!important; color:#6d1c20!important; }
.jumpbox select, select.jumpbox { border-color:#cdbb9f; background-color:#fffaf2; color:#4e3932; }
.jumpbox option { background:#fffaf2; color:#4e3932; }
.pagination li a, .pagination li span { border-color:#decfbe; background:#fff; color:#7c2024; }
.pagination li.active span { border-color:var(--bk-maroon); background:var(--bk-maroon); color:#fff; }
.pagination li a:hover { border-color:#c69840; background:#fff5e3; }

/* UCP / MCP */
.tabs .tab > a, .minitabs .tab > a, .navigation a { border-radius:7px; background:#f3e7d5; color:#692126; }
.tabs .activetab > a, .tabs .activetab > a:hover, .minitabs .activetab > a, .navigation .active-subsection a { background:var(--bk-maroon); color:#fff!important; }

/* ===== Footer ===== */

/* Hide original prosilver identity artifacts that could leak through. */
.headerbar, #site-description, .site-description, #logo, .site_logo, #page-header > .navbar { display:none!important; }

/* Accessibility / misc */
hr { border-color:#e2d4c5; }
.icon.icon-blue, .icon.icon-lightblue, a:hover .icon.icon-blue, a:hover .icon.icon-lightblue { color:var(--bk-maroon); }
.icon.icon-red, .icon.icon-orange { color:#a64931; }
.icon.icon-green { color:#657b3b; }

@media (max-width: 1080px) {
	.bk-motto { display:none; }
	.bk-primary-links { gap:22px; }
	.bk-forum-card { grid-template-columns:44px minmax(0,1fr) 115px; }
	.bk-forum-latest { grid-column:2 / 4; padding:9px 0 0; border-left:0; border-top:1px solid #eee2d5; }
	.bk-hero-message { margin-right:15px; }
}

@media (max-width: 820px) {
	.wrap { width:100%; margin:0; border-radius:0; }
	.bk-brand-strip { min-height:86px; padding:14px 20px; }
	.bk-logo { flex-basis:260px; }
	.bk-logo img { width:260px; }
	.bk-primary-nav { min-height:auto; padding:0 20px; flex-wrap:wrap; }
	.bk-primary-links { width:100%; order:2; height:44px; gap:20px; }
	.bk-primary-actions { width:100%; min-height:48px; justify-content:flex-end; order:1; border-bottom:1px solid #eee4da; }
	.bk-forum-hero { min-height:330px; padding:28px 20px; align-items:flex-end; }
	.bk-forum-hero h1 { font-size:48px; }
	.bk-hero-message { display:none; }
	.bk-utility, .bk-breadcrumb-row { padding-left:20px; padding-right:20px; }
	.bk-page-body, .page-body { padding:22px 20px 26px; }
	.bk-community-heading { align-items:flex-start; flex-direction:column; gap:10px; }
	.bk-index-tools { align-items:flex-start; }
	.bk-community-cards { grid-template-columns:1fr; }
	.bk-login-card { grid-template-columns:1fr; }
	.bk-login-card form { grid-template-columns:1fr 1fr auto; }
	.postbody { width:100%; padding:18px; }
	.postprofile { width:100%; border-left:0; border-top:1px solid #eadccc; }
}

@media (max-width: 620px) {
	.bk-logo img { width:230px; }
	.bk-primary-actions .bk-enter-button { padding:9px 12px; font-size:var(--bk-text-xs); }
	.bk-primary-links a { font-size:var(--bk-text-sm); }
	.bk-forum-hero { min-height:360px; background-position:58% center; }
	.bk-forum-hero h1 { font-size:41px; }
	.bk-forum-hero p { font-size:14px; }
	.bk-hero-kicker { font-size:17px; }
	.bk-utility { align-items:flex-start; flex-wrap:wrap; }
	.bk-utility-right { margin-left:auto; }
	.bk-breadcrumb-row { padding-top:8px; padding-bottom:8px; }
	.bk-community-heading h2 { font-size:28px; }
	.bk-forum-card { grid-template-columns:38px minmax(0,1fr); gap:10px; padding:13px; }
	.bk-forum-stats { grid-column:2; width:170px; }
	.bk-forum-latest { grid-column:2; }
	.bk-section-label { display:none; }
	.bk-login-card form { grid-template-columns:1fr; }
}

/* v0.4.7 — phpBB alert readability and close control */
.phpbb_alert {
	color:#3b2c27!important;
}
.phpbb_alert .alert_title {
	color:#721116!important;
	font-weight:700!important;
}
.phpbb_alert .alert_text,
.phpbb_alert .alert_text p,
.phpbb_alert .alert_text span,
.phpbb_alert .alert_text strong {
	color:#3b2c27!important;
	opacity:1!important;
}
.phpbb_alert .alert_text a {
	color:#7d1015!important;
	font-weight:700;
}
.phpbb_alert .alert_close {
	display:flex!important;
	align-items:center;
	justify-content:center;
	width:36px!important;
	height:36px!important;
	margin:-4px -10px 0 10px!important;
	padding:0!important;
	border-radius:50%;
	color:#6f0f13!important;
	text-decoration:none!important;
}
.phpbb_alert .alert_close:hover,
.phpbb_alert .alert_close:focus {
	background:rgba(125,16,21,.08);
	color:#9a171d!important;
}
.phpbb_alert .alert_close .icon {
	width:auto!important;
	height:auto!important;
	font-size:24px!important;
	line-height:1!important;
	color:currentColor!important;
}


/* v0.4.8 — Community nav cleanup and optimized/versioned static assets */


/* v0.4.9 — BeKhmer UI identity, community band and expanded footer */
.bk-enter-button { display:inline-flex; align-items:center; gap:6px; }
.bk-forum-icon { position:relative; box-shadow:inset 0 0 0 3px rgba(255,255,255,.42); }
.bk-forum-icon .icon { font-size:16px; }
.bk-forum-card.forum_unread .bk-forum-icon::after,
.bk-forum-card.forum_unread_subforum .bk-forum-icon::after { content:""; position:absolute; right:-2px; top:-2px; width:9px; height:9px; border:2px solid #fff; border-radius:50%; background:#e3b454; }

/* Replace prosilver topic-state artwork with a restrained BeKhmer discussion marker. */
ul.topiclist dl.row-item { background-image:none!important; }
ul.topiclist dl.row-item::before { content:"\f075"; position:absolute; left:13px; top:50%; width:30px; height:30px; display:grid; place-items:center; transform:translateY(-50%); border:1px solid #d9bc80; border-radius:50%; background:#fbf1df; color:#9b651f; font:normal normal normal 14px/1 FontAwesome; }
ul.topiclist li.row.row-item-unread dl.row-item::before,
ul.topiclist li.row[class*="unread"] dl.row-item::before,
ul.topiclist dl.row-item[class*="unread"]::before { border-color:#8b1419; background:#8b1419; color:#fff; box-shadow:0 0 0 3px #f5dfb4; }
body.section-viewforum .forumbg ul.topiclist.topics dl.row-item { position:relative; }

/* Keep dropdowns and menus inside the BeKhmer palette. */
.dropdown .dropdown-contents li:hover,
.dropdown .dropdown-contents li:hover > a { background:#f8eee1!important; }
.dropdown .dropdown-contents .separator { border-color:#eadbc9!important; }
.dropdown .pointer-inner { border-bottom-color:#fffdf9!important; }

/* v0.4.23 — dedicated panoramic crimson footer banner; approved v0.4.19 footer structure preserved */
/* v0.4.19 — align Explore and Help footer column headings/links to the same top baseline */
/* Shared readable defaults: special display/hero treatments remain intentionally distinct. */
.bk-utility-link, .bk-user-chip, .bk-breadcrumbs, .bk-index-tools,
.bk-forum-desc, .bk-info-card p, .lastpost, .lastpost a { font-size:var(--bk-text-sm); }
.bk-latest-label, .bk-forum-stats span, .bk-forum-stat span,
ul.topiclist li.header dt, ul.topiclist li.header dd, ul.topiclist li.header a { font-size:var(--bk-text-xs); }
.bk-latest-title { font-size:var(--bk-text-sm); }
.bk-forum-title, .forumtitle, .topictitle { font-size:var(--bk-text-lg); }
.button, .button1, .button2, input.button1, input.button2, a.button, a.button1, a.button2 {
  min-height:var(--bk-control-height); padding:8px 14px; font-size:var(--bk-text-sm); line-height:1.2;
}
.inputbox, textarea, select { font-size:var(--bk-text-md); }
select { min-height:var(--bk-control-height); }

/* v0.4.24 — continuous 50% crimson tint across the utility + copyright footer band */
/* v0.4.25 — footer-only typography/readability refinement */

.bk-footer {
  position:relative; margin:0; padding:0; overflow:hidden; border:0; border-radius:0 0 22px 22px;
  background:
    linear-gradient(90deg,rgba(48,0,4,.26) 0%,rgba(48,0,4,.15) 34%,rgba(48,0,4,.06) 62%,rgba(48,0,4,.03) 100%),
    url("/assets/images/bekhmer/bekhmer-footer-banner-v0423.webp") right center/cover no-repeat;
  background-color:#72090e; color:#f7eadc;
}
.bk-footer::before { content:none; }
.bk-footer::after { content:none; }
.bk-footer-main {
  position:relative; z-index:1; display:grid;
  grid-template-columns:minmax(320px,350px) 140px 150px minmax(260px,1fr);
  gap:30px; align-items:center; min-height:330px; padding:44px 250px 38px 42px;
}
.bk-footer-brand-column { width:min(100%,350px); min-width:0; align-self:center; }
.bk-footer-logo { display:block; width:100%; margin:0 0 4px; }
.bk-footer-logo img { display:block; width:100%; height:auto; filter:none; opacity:1; }
.bk-footer-slogan {
  display:grid; grid-template-columns:max-content max-content max-content max-content max-content; justify-content:space-between; align-items:center; width:100%; max-width:none;
  padding-top:6px; border-top:1px solid rgba(240,198,102,.72);
}
.bk-footer-slogan strong { color:#f3d27f; font:600 20px/1.12 var(--bk-serif); white-space:nowrap; }
.bk-footer-slogan strong:nth-of-type(1) { text-align:left; }
.bk-footer-slogan strong:nth-of-type(2) { text-align:center; }
.bk-footer-slogan strong:nth-of-type(3) { text-align:right; }
.bk-footer-slogan b { color:#efc568; font:400 18px/1 var(--bk-sans); }
.bk-footer-column {
  display:flex; flex-direction:column; align-items:flex-start; align-self:stretch; justify-content:flex-start; gap:12px; min-width:0;
  box-sizing:border-box; padding:38px 0 0 26px; border-left:1px solid rgba(240,198,102,.48);
}
.bk-footer-column h3 {
  margin:0 0 10px; padding:0; border:0; color:#fff;
  font:800 18px/1.2 var(--bk-sans); letter-spacing:.055em; text-transform:uppercase; text-decoration:none; text-shadow:0 1px 2px rgba(35,0,3,.50);
}
.bk-footer-column h3::after { content:none; }
.bk-footer-column a { color:#fff4e9!important; font-size:17px; line-height:1.42; font-weight:500; text-decoration:none; text-shadow:0 1px 2px rgba(35,0,3,.50); }
.bk-footer-column a:hover,.bk-footer-column a:focus { color:#f4ce70!important; text-decoration:none; }
.bk-footer-culture {
  align-self:end; width:min(100%,340px); margin:0 0 24px; padding:0; color:#f6e0c8;
  text-shadow:0 1px 3px rgba(39,0,2,.55);
}
.bk-footer-culture > span { display:block; color:#f7e2ca; font:italic 20px/1.2 var(--bk-serif); }
.bk-footer-culture > strong { display:block; margin-top:4px; color:#f2c85e; font:italic 30px/1.08 var(--bk-serif); font-weight:600; }
.bk-footer-culture p { max-width:340px; margin:13px 0 0; color:#fff5e9; font-family:"Noto Sans Khmer","Khmer OS",sans-serif; font-size:18px; line-height:1.5; font-weight:600; }
.bk-footer-temple { display:none!important; }
.bk-footer-utility {
  position:relative; z-index:2; min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:10px 46px; border-top:1px solid rgba(255,255,255,.13); background:rgba(92,7,13,.50);
  color:#ead7c2; font-size:15px; line-height:1.4; text-shadow:0 1px 2px rgba(35,0,3,.48);
}
.bk-footer-utility-left,.bk-footer-utility-right { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.bk-footer-utility a { color:#f1dfcc!important; text-decoration:none; }
.bk-footer-utility a:hover,.bk-footer-utility a:focus { color:#fff!important; }
.bk-copyright {
  position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  margin:0; padding:13px 46px 16px; border-top:1px solid rgba(255,255,255,.07); background:rgba(92,7,13,.50);
  color:#dfc8af; text-align:left; font-size:14px; line-height:1.4; text-shadow:0 1px 2px rgba(35,0,3,.48);
}
.bk-copyright-motto { margin-left:auto; color:#ecd7bd; }
.bk-copyright-motto b { padding:0 6px; color:#efc568; font-weight:400; }
.bk-copyright p { margin:0; }
.bk-copyright a { color:#efd9bd!important; }

@media (max-width:1180px) {
  .bk-footer-main { grid-template-columns:minmax(300px,1.2fr) minmax(135px,.55fr) minmax(145px,.6fr); grid-template-rows:auto auto; min-height:0; padding:38px 245px 32px 34px; gap:30px; }
  .bk-footer-culture { grid-column:1 / -1; grid-row:2; align-self:start; width:min(100%,540px); margin:0; }
}
@media (max-width:900px) {
  .bk-footer { background-position:82% center; }
  .bk-footer-main { grid-template-columns:1fr 1fr; padding:34px 30px 30px; gap:28px 30px; }
  .bk-footer-column { padding:0; border-left:0; align-self:start; }
  .bk-footer-brand-column,.bk-footer-culture { grid-column:1 / -1; }
  .bk-footer-culture { width:min(100%,500px); }
  .bk-footer-utility,.bk-copyright { padding-left:30px; padding-right:30px; }
}
@media (max-width:620px) {
  .bk-footer { border-radius:0; background-position:88% center; }
  .bk-footer-main { grid-template-columns:1fr; padding:30px 22px 27px; gap:26px; }
  .bk-footer-brand-column,.bk-footer-culture { grid-column:auto; }
  .bk-footer-brand-column { width:min(100%,340px); }
  .bk-footer-logo { width:100%; }
  .bk-footer-slogan { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-start; }
  .bk-footer-slogan strong { font-size:18px; }
  .bk-footer-slogan b { font-size:16px; }
  .bk-footer-utility { padding:11px 22px; flex-direction:column; align-items:flex-start; }
  .bk-footer-utility-left,.bk-footer-utility-right { justify-content:flex-start; }
  .bk-copyright { padding:13px 22px 17px; flex-direction:column; align-items:flex-start; }
  .bk-copyright-motto { margin-left:0; }
}

/* v0.4.30 — forum component redesign based on the approved BeKhmer mockup.
   Footer and hero remain unchanged. Decorative art is cache-busted and web-optimized. */

/* Outer page: strong short caps, a genuinely subtle seamless middle tile, then a strong ending cap. */
body {
  background-color:#f3ede2;
  background-image:
    url("/assets/images/bekhmer/bekhmer-side-top-left-v0430.webp"),
    url("/assets/images/bekhmer/bekhmer-side-top-right-v0430.webp"),
    url("/assets/images/bekhmer/bekhmer-side-bottom-left-v0430.webp"),
    url("/assets/images/bekhmer/bekhmer-side-bottom-right-v0430.webp"),
    url("/assets/images/bekhmer/bekhmer-side-mid-left-v0433.webp"),
    url("/assets/images/bekhmer/bekhmer-side-mid-left-v0433.webp"),
    linear-gradient(180deg,#f6f0e5 0%,#efe7da 100%);
  background-position:left top,right top,left bottom,right bottom,left 260px,right 260px,center top;
  background-size:82px 260px,82px 260px,82px 320px,82px 320px,82px 260px,82px 260px,auto;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-y,repeat-y,no-repeat;
}

/* Brand stage: visible scenic Khmer identity without competing with the live logo/motto. */
.bk-brand-strip {
  min-height:112px;
  background-color:#fffaf2;
  background-image:
    linear-gradient(90deg,rgba(255,251,245,.96) 0%,rgba(255,250,242,.72) 24%,rgba(255,250,242,.30) 50%,rgba(255,250,242,.72) 76%,rgba(255,251,245,.96) 100%),
    url("/assets/images/bekhmer/bekhmer-brand-stage-v0430.webp");
  background-position:center,center bottom;
  background-size:100% 100%,760px 154px;
  background-repeat:no-repeat,no-repeat;
  border-bottom-color:#dfc7a2;
  box-shadow:inset 0 -1px 0 rgba(177,120,35,.12);
}

/* Reading surface stays quiet so the decorative pieces have somewhere to breathe. */
.bk-page-body,.page-body {
  background-color:#fcfaf6;
  background-image:
    linear-gradient(90deg,rgba(252,249,243,.97) 0%,rgba(252,250,246,.995) 8%,rgba(252,250,246,.995) 92%,rgba(252,249,243,.97) 100%),
    url("/assets/images/bekhmer/bekhmer-parchment-texture-v0427.webp");
  background-size:auto,420px 220px;
  background-repeat:no-repeat,repeat;
}

/* Community intro is a real editorial component, not merely a watermark behind existing text. */
.bk-community-heading {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:24px;
  min-height:118px;
  margin:0 0 20px;
  padding:20px 24px 20px 30px;
  overflow:hidden;
  border:1px solid #e4cfa9;
  border-radius:11px;
  background-color:#fffaf0;
  background-image:
    linear-gradient(90deg,rgba(255,253,248,.995) 0%,rgba(255,251,244,.98) 47%,rgba(252,242,222,.76) 100%),
    url("/assets/images/bekhmer/bekhmer-community-intro-v0430.webp");
  background-position:center,right center;
  background-size:100% 100%,620px 125px;
  background-repeat:no-repeat,no-repeat;
  box-shadow:0 7px 20px rgba(83,55,30,.055),inset 0 1px 0 rgba(255,255,255,.90);
}
.bk-community-heading::before {
  content:"";
  position:absolute;
  left:9px;
  top:18px;
  bottom:18px;
  width:4px;
  border-radius:10px;
  background:linear-gradient(180deg,#f2d37f 0%,#b87820 50%,#f2d37f 100%);
}
.bk-community-heading::after {
  content:"";
  position:absolute;
  left:16px;
  top:20px;
  width:24px;
  height:72px;
  background:url("/assets/images/bekhmer/bekhmer-intro-flourish-v0430.webp") center/contain no-repeat;
  opacity:.78;
  pointer-events:none;
}
.bk-community-copy { position:relative; z-index:1; padding-left:12px; }
.bk-community-heading h2 { margin:0; color:#38261f; font:600 39px/1 var(--bk-serif); letter-spacing:-.018em; }
.bk-community-heading p { margin:7px 0 0; color:#75675f; font-size:15px; }
.bk-community-note {
  position:relative; z-index:1; min-width:180px; text-align:center; color:#8d684f;
  font-family:var(--bk-serif); line-height:1.15;
}
.bk-community-note span,.bk-community-note em { display:block; }
.bk-community-note span { font-size:15px; font-style:italic; }
.bk-community-note em { margin-top:2px; font-size:13px; }
.bk-index-tools { position:relative; z-index:1; }

/* Category bars: warm layered crimson from the approved mockup, not near-black burgundy. */
.bk-section-header {
  position:relative;
  min-height:52px;
  padding:10px 17px;
  background-color:#98171c;
  background-image:
    linear-gradient(90deg,rgba(142,14,21,.18) 0%,rgba(177,34,38,.06) 52%,rgba(119,9,16,.22) 100%),
    url("/assets/images/bekhmer/bekhmer-category-texture-v0430.webp");
  background-position:center,center;
  background-size:100% 100%,auto 100%;
  background-repeat:no-repeat,repeat-x;
  background-blend-mode:normal;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(239,197,104,.28);
}
.bk-section-header::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(79,0,6,.08),transparent 28%,transparent 74%,rgba(65,0,5,.10));
}
.bk-section-header > div { position:relative; z-index:1; gap:9px; }
.bk-section-accent { width:3px; height:22px; background:#efc767; box-shadow:0 0 0 1px rgba(91,36,8,.12); }
.bk-section-emblem {
  width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center;
  border:1px solid rgba(243,208,118,.54); border-radius:50%; background:rgba(91,8,13,.22);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.05);
}
.bk-section-emblem img { width:23px; height:23px; object-fit:contain; display:block; }
.bk-section-header h2 { margin:0; color:#fff!important; font:700 14px/1.2 var(--bk-sans); text-transform:uppercase; letter-spacing:.065em; text-shadow:0 1px 2px rgba(55,0,4,.28); }
.bk-section-header h2 a { color:#fff!important; }
.bk-section-label { position:relative; z-index:1; color:#f5dfc5; font-size:var(--bk-text-xs); text-shadow:0 1px 2px rgba(55,0,4,.32); }

/* Forum sections/cards: actual component redesign, preserving phpBB data and links. */
.bk-forum-section {
  margin:0 0 20px;
  border:1px solid #ddc8aa;
  border-radius:12px;
  background:#fffdfa;
  box-shadow:0 9px 24px rgba(67,42,26,.07),0 1px 0 rgba(255,255,255,.84) inset;
  overflow:hidden;
}
.bk-forum-grid { background:#fffdfa; }
.bk-forum-card {
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 132px minmax(220px,.82fr) 22px;
  gap:16px;
  align-items:center;
  min-height:102px;
  padding:16px 15px 16px 17px;
  border-bottom:1px solid #e8d8c2;
  background:linear-gradient(90deg,#fffdf8 0%,#fffdfa 54%,#fbf4e9 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80);
  transition:background .16s ease,box-shadow .16s ease,border-color .16s ease,transform .16s ease;
}
.bk-forum-card:nth-child(even) { background:linear-gradient(90deg,#fffaf3 0%,#fffdf8 54%,#faf1e5 100%); }
.bk-forum-card:last-child { border-bottom:0; }
.bk-forum-card:hover {
  background:linear-gradient(90deg,#fff5e5 0%,#fffaf3 56%,#f8ead9 100%);
  box-shadow:inset 4px 0 0 rgba(194,134,38,.62),inset 0 1px 0 rgba(255,255,255,.86);
  transform:translateY(-1px);
}
.bk-forum-icon {
  width:50px; height:50px; display:grid; place-items:center;
  border:1px solid #c99b46; border-radius:50%;
  background:radial-gradient(circle at 35% 28%,#fffefa 0%,#f8e8c4 48%,#e9c57f 100%);
  color:#88530f; font-size:20px;
  box-shadow:0 6px 14px rgba(134,89,28,.14),inset 0 0 0 3px rgba(255,255,255,.62),inset 0 -2px 6px rgba(165,105,28,.10);
}
.bk-forum-icon .icon { font-size:20px; }
.bk-forum-card.forum_unread .bk-forum-icon,.bk-forum-card.forum_unread_subforum .bk-forum-icon {
  border-color:#a86d1e; background:radial-gradient(circle at 35% 28%,#fff8ea 0%,#e8bf72 55%,#bd7c22 100%); color:#6c200c;
}
.bk-forum-title { display:inline-block; color:#761d21!important; font-size:17px; font-weight:700; line-height:1.2; text-shadow:0 1px 0 rgba(255,255,255,.82); }
.bk-forum-desc { margin-top:5px; color:#75675f; font-size:14px; line-height:1.45; }
.bk-forum-stats { display:grid; grid-template-columns:1fr 1fr; gap:9px; text-align:center; }
.bk-forum-stats div {
  padding:8px 5px; border:1px solid #ddc9aa; border-radius:9px;
  background:linear-gradient(180deg,#fbf6ed,#f6ead9); box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
.bk-forum-stats strong,.bk-forum-stat strong { display:block; color:#30231f; font-size:18px; line-height:1; }
.bk-forum-stats span,.bk-forum-stat span { display:block; margin-top:4px; color:#97867a; font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.bk-forum-latest {
  min-width:0; padding-left:15px; border-left:1px solid #dfc69e;
  display:flex; flex-direction:column; gap:2px; color:#807168; font-size:12px;
}
.bk-latest-label { color:#8f7a6e; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.bk-latest-title { color:#6d1e22!important; font-size:13px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bk-forum-chevron {
  width:22px; height:34px; display:grid; place-items:center; align-self:center;
  color:#9a6b2d!important; font-size:18px; text-decoration:none!important; opacity:.90;
}
.bk-forum-card:hover .bk-forum-chevron { color:#6f1c20!important; transform:translateX(1px); }

/* Supporting info cards use the same warm material system. */
.bk-info-card {
  border-color:#dfccb3;
  background-image:linear-gradient(180deg,rgba(255,255,255,.98),rgba(251,245,236,.98)),url("/assets/images/bekhmer/bekhmer-parchment-texture-v0427.webp");
  box-shadow:0 6px 18px rgba(72,48,28,.05),inset 0 1px 0 rgba(255,255,255,.82);
}

@media (max-width:1080px) {
  .bk-forum-card { grid-template-columns:50px minmax(0,1fr) 120px 22px; }
  .bk-forum-latest { grid-column:2 / 4; padding:10px 0 0; border-left:0; border-top:1px solid #eadbc5; }
  .bk-forum-chevron { grid-column:4; grid-row:1 / span 2; }
  .bk-community-note { display:none; }
}

@media (max-width:900px) {
  body {
    background-size:62px 196px,62px 196px,62px 242px,62px 242px,62px 196px,62px 196px,auto;
    background-position:left top,right top,left bottom,right bottom,left 196px,right 196px,center top;
  }
  .bk-brand-strip { background-size:100% 100%,620px auto; }
  .bk-community-heading { grid-template-columns:1fr; min-height:0; padding:18px 20px 18px 28px; gap:9px; }
  .bk-community-heading h2 { font-size:32px; }
  .bk-index-tools { align-items:flex-start; }
}

@media (max-width:620px) {
  body { background-image:linear-gradient(180deg,#f4eee4,#efe7da); }
  .bk-brand-strip { background-size:100% 100%,500px auto; background-position:center,52% bottom; }
  .bk-community-heading {
    background-image:linear-gradient(90deg,rgba(255,252,246,.995),rgba(255,250,240,.94)),url("/assets/images/bekhmer/bekhmer-community-intro-v0430.webp");
    background-position:center,right center; background-size:100% 100%,auto 100%;
  }
  .bk-community-heading h2 { font-size:29px; }
  .bk-section-emblem { width:25px; height:25px; flex-basis:25px; }
  .bk-section-emblem img { width:20px; height:20px; }
  .bk-section-label { display:none; }
  .bk-forum-card { grid-template-columns:44px minmax(0,1fr) 20px; gap:11px; padding:14px 13px; }
  .bk-forum-icon { width:42px; height:42px; }
  .bk-forum-icon .icon { font-size:17px; }
  .bk-forum-stats { grid-column:2; width:170px; }
  .bk-forum-latest { grid-column:2; }
  .bk-forum-chevron { grid-column:3; grid-row:1 / span 3; }
}

/* v0.4.31 — body refinement; footer, hero and category-bar depth preserved. */
body {
  background-size:82px 260px,82px 260px,82px 320px,82px 320px,82px 160px,82px 160px,auto;
}
/* Clip the existing scenic image to its clean central temple area. */
.bk-brand-strip { position:relative; isolation:isolate; background-image:none; }
.bk-brand-strip::before {
  content:""; position:absolute; z-index:-1; pointer-events:none;
  width:min(460px,58%); height:100%; left:50%; bottom:0; transform:translateX(-50%);
  background:url("/assets/images/bekhmer/bekhmer-brand-stage-v0430.webp") center bottom/760px 154px no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);
  opacity:.78;
}
.bk-community-heading {
  isolation:isolate; grid-template-columns:minmax(0,1fr) auto;
  min-height:116px; padding:16px 20px 18px 24px; gap:14px 24px;
  border:0; border-bottom:1px solid #e6d0ac; border-radius:0;
  background:linear-gradient(90deg,#fffaf1,rgba(251,241,219,.45)); box-shadow:none;
}
.bk-community-heading::before {
  z-index:-1; left:auto; right:15%; top:0; bottom:0; width:390px; border-radius:0;
  background:url("/assets/images/bekhmer/bekhmer-community-intro-v0430.webp") center bottom/620px 125px no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 78%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 18%,#000 78%,transparent);
  opacity:.9;
}
.bk-community-heading::after { left:0; top:14px; width:20px; height:80px; opacity:.9; }
.bk-community-copy { padding-left:4px; }
.bk-community-heading h2 { font-size:36px; line-height:1.08; }
.bk-community-note { grid-column:1; justify-self:end; margin-top:-7px; min-width:0; }
.bk-index-tools { grid-column:2; grid-row:1 / span 2; }
.bk-forum-card { min-height:84px; padding:12px 17px; gap:16px; grid-template-columns:58px minmax(0,1fr) 134px minmax(220px,.7fr) 22px; }
.bk-forum-card:hover { transform:none; }
.bk-forum-icon { width:52px; height:52px; box-shadow:inset 0 0 0 3px #fff9e9,inset 0 -3px 7px rgba(165,105,28,.14),0 2px 5px rgba(134,89,28,.08); }
.bk-forum-icon .icon { font-size:24px; }
.bk-forum-title { font-size:18px; }
.bk-forum-desc { margin-top:4px; }
.bk-forum-stats div { border-color:transparent; border-radius:6px; padding:8px 5px; background:#f6edde; box-shadow:none; }
.bk-forum-latest { padding-left:20px; gap:1px; }
.bk-latest-title { font-size:14px; }
.bk-forum-chevron { color:#8c7560!important; }
@media (max-width:1080px) {
  .bk-forum-card { grid-template-columns:52px minmax(0,1fr) 120px 22px; }
  .bk-forum-latest { padding:8px 0 0; }
  .bk-community-heading h2 { font-size:32px; }
}
@media (max-width:900px) {
  body { background-size:62px 196px,62px 196px,62px 242px,62px 242px,62px 121px,62px 121px,auto; }
  .bk-community-heading { grid-template-columns:1fr; gap:10px; }
  .bk-index-tools { grid-column:1; grid-row:auto; }
  .bk-community-heading::before { right:0; width:65%; opacity:.6; }
}
@media (max-width:620px) {
  .bk-brand-strip::before { opacity:.35; }
  .bk-community-heading { padding:16px 12px 16px 24px; }
  .bk-community-heading h2 { font-size:29px; }
  .bk-forum-card { grid-template-columns:44px minmax(0,1fr) 20px; gap:10px; padding:14px 12px; }
  .bk-forum-icon { width:42px; height:42px; }
  .bk-forum-icon .icon { font-size:20px; }
  .bk-forum-title { font-size:17px; }
}
@media (prefers-reduced-motion:reduce) {
  .bk-forum-card,.bk-forum-chevron { transition:none; }
}
/* Fade the short caps into the quiet continuous side pattern. */
body {
  position:relative; isolation:isolate;
  background-image:url("/assets/images/bekhmer/bekhmer-side-mid-left-v0433.webp"),url("/assets/images/bekhmer/bekhmer-side-mid-left-v0433.webp"),linear-gradient(180deg,#f6f0e5,#efe7da);
  background-position:left top,right top,center top;
  background-size:82px 160px,82px 160px,auto;
  background-repeat:repeat-y,repeat-y,no-repeat;
}
body::before,body::after {
  content:""; position:absolute; top:0; bottom:0; width:82px; z-index:-1; pointer-events:none;
  background-size:100% 260px,100% 320px;
  background-position:center top,center bottom; background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 140px,transparent 260px,transparent calc(100% - 320px),#000 calc(100% - 180px),#000 100%);
  mask-image:linear-gradient(to bottom,#000 0,#000 140px,transparent 260px,transparent calc(100% - 320px),#000 calc(100% - 180px),#000 100%);
}
body::before { left:0; background-image:url("/assets/images/bekhmer/bekhmer-side-top-left-v0430.webp"),url("/assets/images/bekhmer/bekhmer-side-bottom-left-v0430.webp"); }
body::after { right:0; background-image:url("/assets/images/bekhmer/bekhmer-side-top-right-v0430.webp"),url("/assets/images/bekhmer/bekhmer-side-bottom-right-v0430.webp"); }
@media (max-width:900px) {
  body { background-size:62px 121px,62px 121px,auto; }
  body::before,body::after { width:62px; }
}
@media (max-width:620px) {
  body { background-image:linear-gradient(180deg,#f4eee4,#efe7da); background-size:auto; }
  body::before,body::after { display:none; }
}

/* v0.4.32 — full scenic scale, a single-row intro, and connected edge ornaments. */
.bk-brand-strip::before {
  width:min(342px,48%); height:110px;
  background-size:560px auto; background-position:center center;
  opacity:.88; mix-blend-mode:multiply;
}
.bk-brand-strip::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:url("/assets/images/bekhmer/bekhmer-side-top-left-v0430.webp") left top/210px 112px no-repeat,
             url("/assets/images/bekhmer/bekhmer-side-top-right-v0430.webp") right top/210px 112px no-repeat;
  opacity:.85;
}
/* The note is attached to the artwork, never a second grid row. */
.bk-community-heading {
  min-height:122px; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto;
  align-items:center; padding:16px 20px 16px 24px; gap:24px;
  background:linear-gradient(90deg,#fffbf4,#faf3e5); overflow:hidden;
}
.bk-community-copy { grid-column:1; grid-row:1; }
.bk-community-heading::before {
  top:50%; bottom:auto; right:19%; width:320px; height:112px; transform:translateY(-50%);
  background-position:center center; background-size:510px auto;
  opacity:1; mix-blend-mode:multiply;
}
.bk-community-note {
  position:absolute; right:19%; bottom:14px; width:320px; margin:0;
  min-width:0; font-size:13px; pointer-events:none;
}
.bk-community-note span { font-size:14px; }
.bk-community-note em { font-size:12px; }
.bk-index-tools { grid-column:2; grid-row:1; align-self:center; }
.bk-community-heading::after { top:50%; height:72px; transform:translateY(-50%); }
/* Fit the full texture inside the bar instead of enlarging it to fill. */
.bk-section-header {
  background-size:100% 100%,740px auto;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
}
body { background-size:82px 180px,82px 180px,auto; }
/* Ornament continues a little inside the shell at the footer corners. */
.wrap { position:relative; }
.wrap::before,.wrap::after {
  content:""; position:absolute; bottom:0; width:26px; height:210px;
  pointer-events:none; z-index:3;
  background:url("/assets/images/bekhmer/bekhmer-side-mid-left-v0433.webp") left bottom/82px 180px repeat-y;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent);
  mask-image:linear-gradient(90deg,#000,transparent);
  opacity:.9;
}
.wrap::before { left:0; }
.wrap::after { right:0; transform:scaleX(-1); }
@media (max-width:1180px) {
  .bk-community-note { display:none; }
  .bk-community-heading::before { right:18%; opacity:.75; }
}
@media (max-width:900px) {
  body { background-size:62px 136.1px,62px 136.1px,auto; }
  .bk-community-heading { grid-template-columns:1fr; min-height:122px; gap:10px; }
  .bk-index-tools { grid-column:1; grid-row:2; align-self:auto; }
  .bk-community-heading::before { right:0; width:290px; opacity:.55; }
  .bk-brand-strip::after { background-size:150px 80px,150px 80px; }
}
@media (max-width:620px) {
  body { background-size:auto; }
  .bk-brand-strip::before { opacity:.4; }
  .bk-brand-strip::after { opacity:.5; background-size:120px 64px,120px 64px; }
  .bk-community-heading { padding:14px 12px 14px 24px; }
  .bk-community-heading::before { width:220px; background-size:370px auto; opacity:.45; }
  .bk-index-tools { white-space:normal; }
  .wrap::before,.wrap::after { display:none; }
}
/* Feather the reduced category scene into the crimson rather than showing a rectangle. */
.bk-section-header { background-image:linear-gradient(90deg,#92151b,#a02026 52%,#901219); }
.bk-section-header::before {
  content:""; position:absolute; left:50%; top:0; bottom:0; width:min(740px,75%);
  transform:translateX(-50%); pointer-events:none;
  background:url("/assets/images/bekhmer/bekhmer-category-texture-v0430.webp") center/740px auto no-repeat;
  clip-path:inset(12px 0 0);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 23%,#000 77%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 23%,#000 77%,transparent);
}
body::before,body::after { background-size:86px 260px,86px 320px; }
body::before { background-position:left top,left bottom; }
body::after { background-position:right top,right bottom; }
@media (max-width:900px) {
  body::before,body::after { background-size:66px 260px,66px 320px; }
}

/* All side ornament tracks the forum frame, including on ultrawide screens. */
body { overflow-x:clip; background:#f3ede2; }
body::before,body::after { content:none; }
.bk-page-frame { position:relative; width:min(calc(100% - 42px),1380px); margin:18px auto; }
.bk-page-frame > .wrap { width:100%; margin:0; }
.bk-page-frame::before,.bk-page-frame::after {
  content:""; position:absolute; top:0; bottom:0; width:82px;
  pointer-events:none; z-index:-1;
  background:url("/assets/images/bekhmer/bekhmer-side-mid-left-v0433.webp") center top/82px 180px repeat-y;
}
.bk-page-frame::before { right:100%; }
.bk-page-frame::after { left:100%; }
.bk-frame-caps { position:absolute; inset:0; pointer-events:none; z-index:-1; }
.bk-frame-caps::before,.bk-frame-caps::after {
  content:""; position:absolute; top:0; bottom:0; width:82px;
  background-size:86px 260px,86px 320px; background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000,#000 100px,transparent 240px,transparent calc(100% - 300px),#000 calc(100% - 140px),#000);
  mask-image:linear-gradient(to bottom,#000,#000 100px,transparent 240px,transparent calc(100% - 300px),#000 calc(100% - 140px),#000);
}
.bk-frame-caps::before {
  right:100%; background-position:left top,left bottom;
  background-image:url("/assets/images/bekhmer/bekhmer-side-top-left-v0430.webp"),url("/assets/images/bekhmer/bekhmer-side-bottom-left-v0430.webp");
}
.bk-frame-caps::after {
  left:100%; background-position:right top,right bottom;
  background-image:url("/assets/images/bekhmer/bekhmer-side-top-right-v0430.webp"),url("/assets/images/bekhmer/bekhmer-side-bottom-right-v0430.webp");
}
@media (max-width:820px) {
  .bk-page-frame { width:100%; margin:0; }
  .bk-page-frame::before,.bk-page-frame::after,.bk-frame-caps { display:none; }
}
/* Crop only the outer edge when gutters narrow; never create horizontal scrolling. */
.bk-page-frame::before,.bk-page-frame::after,
.bk-frame-caps::before,.bk-frame-caps::after {
  width:clamp(21px,calc((100vw - 1412px)/2),82px);
}
.bk-page-frame::before { background-position:right top; }
.bk-page-frame::after { background-position:left top; }

/* v0.4.33 — original Khmer ornament restored, wider frame and unified parchment. */
html,body { background-color:#f8f0e1; }
body { background-image:none; }
.wrap { background:#fbf5e9; }
.bk-brand-strip { background-color:#fbf5e9; }
/* Remove the replacement line-art corners and the footer line-art overlay. */
.bk-brand-strip::after,.wrap::before,.wrap::after { content:none; }
.bk-page-body,.page-body {
  background-color:#fbf5e9;
  background-image:linear-gradient(rgba(251,245,233,.68),rgba(251,245,233,.68)),url("/assets/images/bekhmer/bekhmer-parchment-texture-v0427.webp");
  background-size:auto,420px 220px; background-repeat:no-repeat,repeat;
}
/* The intro shares the reading surface instead of making another rectangular panel. */
.bk-community-heading { background:none; border:0; box-shadow:none; }
.bk-community-heading::before,.bk-brand-strip::before {
  -webkit-mask-image:radial-gradient(ellipse 68% 72% at 50% 50%,#000 42%,transparent 76%);
  mask-image:radial-gradient(ellipse 68% 72% at 50% 50%,#000 42%,transparent 76%);
  mix-blend-mode:multiply;
}
.bk-page-frame::before,.bk-page-frame::after,
.bk-frame-caps::before,.bk-frame-caps::after {
  width:clamp(21px,calc((100vw - 1412px)/2),120px);
}
.bk-page-frame::before,.bk-page-frame::after {
  background-size:124px 393px;
  background-repeat:repeat-y;
  filter:grayscale(.65) brightness(.58) contrast(3) brightness(1.72) sepia(.15);
  mix-blend-mode:multiply;
}
.bk-page-frame::before {
  background-image:url("/assets/images/bekhmer/bekhmer-side-mid-left-v0433.webp");
  background-position:left top;
}
.bk-page-frame::after {
  background-image:url("/assets/images/bekhmer/bekhmer-side-mid-right-v0433.webp");
  background-position:right top;
}
.bk-frame-caps::before,.bk-frame-caps::after {
  background-size:124px auto,124px auto;
  mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(to bottom,#000,#000 100px,transparent 270px,transparent calc(100% - 320px),#000 calc(100% - 150px),#000);
  mask-image:linear-gradient(to bottom,#000,#000 100px,transparent 270px,transparent calc(100% - 320px),#000 calc(100% - 150px),#000);
}
/* Carry the same original top ornament gently inward behind the brand area. */
.bk-brand-strip {
  background-image:linear-gradient(90deg,rgba(251,245,233,.20),#fbf5e9 11%,#fbf5e9 89%,rgba(251,245,233,.20)),
    url("/assets/images/bekhmer/bekhmer-side-top-left-v0430.webp"),url("/assets/images/bekhmer/bekhmer-side-top-right-v0430.webp");
  background-position:center,left top,right top;
  background-size:100% 100%,82px 260px,82px 260px;
  background-repeat:no-repeat;
  background-blend-mode:normal,multiply,multiply;
}
@media (max-width:820px) {
  .bk-brand-strip { background-image:none; }
}
/* Feather the artwork's parchment edges into the page instead of showing strips. */
.bk-page-frame::before,.bk-page-frame::after {
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent);
}
.bk-frame-caps::before,.bk-frame-caps::after {
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent),linear-gradient(to bottom,#000,#000 100px,transparent 270px,transparent calc(100% - 320px),#000 calc(100% - 150px),#000);
  mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent),linear-gradient(to bottom,#000,#000 100px,transparent 270px,transparent calc(100% - 320px),#000 calc(100% - 150px),#000);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
/* Wider coverage, with the original ornament at its native pixel dimensions. */
.bk-page-frame::before,.bk-page-frame::after {
  background-size:82px 260px;
  background-repeat:repeat;
}
.bk-frame-caps::before,.bk-frame-caps::after {
  background-size:82px 260px,82px 320px;
}
.bk-frame-caps::before { background-position:right top,right bottom; }
.bk-frame-caps::after { background-position:left top,left bottom; }
/* Exclude the source strip's two-pixel border from each natural-size repeat. */
.bk-page-frame::before {
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent),repeating-linear-gradient(90deg,#000 0,#000 78px,transparent 78px,transparent 82px);
  mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent),repeating-linear-gradient(90deg,#000 0,#000 78px,transparent 78px,transparent 82px);
}
.bk-page-frame::after {
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent),repeating-linear-gradient(270deg,#000 0,#000 78px,transparent 78px,transparent 82px);
  mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent),repeating-linear-gradient(270deg,#000 0,#000 78px,transparent 78px,transparent 82px);
}
.bk-page-frame::before,.bk-page-frame::after { -webkit-mask-composite:source-in; mask-composite:intersect; }

/* v0.4.34 — focused parchment and category identity correction. */
:root { --bk-parchment-base:#f0e5cf; }
html,body,.wrap { background-color:var(--bk-parchment-base); }
.bk-page-body,.page-body {
  background-color:var(--bk-parchment-base);
  background-image:linear-gradient(rgba(240,229,207,.82),rgba(240,229,207,.82)),url("/assets/images/bekhmer/bekhmer-parchment-texture-v0427.webp");
}
.bk-brand-strip {
  background-color:var(--bk-parchment-base);
  background-image:linear-gradient(90deg,rgba(240,229,207,.20),#f0e5cf 11%,#f0e5cf 89%,rgba(240,229,207,.20)),
    url("/assets/images/bekhmer/bekhmer-side-top-left-v0430.webp"),url("/assets/images/bekhmer/bekhmer-side-top-right-v0430.webp");
}
.bk-community-heading { background:transparent; border:0; box-shadow:none; }
.bk-section-accent { display:none; }
.bk-section-emblem {
  width:28px; height:34px; flex:0 0 28px;
  border:0; border-radius:0; background:none; box-shadow:none;
}
.bk-section-emblem img { width:25px; height:32px; object-fit:contain; }
.bk-section-header > div { gap:12px; }
@media (max-width:620px) {
  .bk-section-emblem { width:24px; height:30px; flex-basis:24px; }
  .bk-section-emblem img { width:22px; height:29px; }
  .bk-section-header > div { gap:9px; }
}
@media (max-width:820px) {
  .bk-brand-strip { background-image:none; }
}


/* v0.4.35 — mockup-anchored scenic asset pass. */
:root {
  --bk-parchment-base:#f5ecd9;
  --bk-parchment-surface:#faf4e8;
}
html,body { background-color:var(--bk-parchment-base); }
body { background:none var(--bk-parchment-base); }
.wrap,
.bk-brand-strip,
.bk-page-body,
.page-body { background-color:var(--bk-parchment-surface); }
.wrap { background:var(--bk-parchment-surface); }
.bk-page-body,.page-body {
  background-image:linear-gradient(rgba(250,244,232,.88),rgba(250,244,232,.88)),url("/assets/images/bekhmer/bekhmer-parchment-texture-v0427.webp");
  background-size:auto,420px 220px;
  background-repeat:no-repeat,repeat;
}

/* Replace the narrow strip treatment with the richer Kbach ornament. */
.bk-page-frame::before,
.bk-page-frame::after {
  width:clamp(24px,calc((100vw - 1412px)/2),112px);
  background-size:112px 336px;
  background-repeat:repeat-y;
  mix-blend-mode:multiply;
  opacity:.92;
  filter:sepia(.18) saturate(.88) brightness(1.01);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  -webkit-mask-composite:source-over;
  mask-composite:add;
}
.bk-page-frame::before {
  background-image:url("/assets/images/bekhmer/bekhmer-side-left-v0435.webp");
  background-position:right top;
}
.bk-page-frame::after {
  background-image:url("/assets/images/bekhmer/bekhmer-side-right-v0435.webp");
  background-position:left top;
}
.bk-frame-caps { display:none; }

/* Top brand/header keeps the smaller existing Angkor layer only. */
.bk-brand-strip {
  background-image:linear-gradient(90deg,rgba(250,244,232,.92) 0%,rgba(250,244,232,.76) 19%,rgba(250,244,232,.62) 50%,rgba(250,244,232,.76) 81%,rgba(250,244,232,.92) 100%);
  background-position:center;
  background-size:100% 100%;
  background-repeat:no-repeat;
  box-shadow:inset 0 -1px 0 rgba(177,120,35,.10);
}

/* Reintroduce the intro skyline using the same source artwork, but lighter and integrated. */
.bk-community-heading {
  background-image:
    linear-gradient(90deg,rgba(250,244,232,.98) 0%,rgba(250,244,232,.96) 38%,rgba(250,244,232,.78) 68%,rgba(250,244,232,.48) 100%),
    url("/assets/images/bekhmer/bekhmer-community-intro-v0435.webp");
  background-position:center,center bottom;
  background-size:100% 100%,760px 140px;
  background-repeat:no-repeat,no-repeat;
}

/* v0.4.44 — mockup-scale lower silhouette behind the translucent information
   cards, grounded against the footer without stretching the scenery. */
.section-index .bk-community-cards {
  position:relative;
  z-index:2;
}
.section-index .bk-community-cards .bk-info-card {
  background:rgba(255,253,249,.50) !important;
  -webkit-backdrop-filter:blur(1px);
  backdrop-filter:blur(1px);
}
.section-index #page-body::after {
  content:"";
  display:block;
  position:relative;
  z-index:1;
  height:150px;
  margin:-80px -36px -34px;
  background:url("/assets/images/bekhmer/bekhmer-footer-silhouette-v0444.webp") center bottom/100% auto no-repeat;
  opacity:.74;
  pointer-events:none;
}

@media (max-width:1200px) {
  .bk-brand-strip { background-size:100% 100%; }
  .bk-community-heading { background-size:100% 100%,660px 122px; }
  .section-index #page-body::after { background-size:100% auto; }
}
@media (max-width:900px) {
  .bk-page-frame::before,
  .bk-page-frame::after {
    width:clamp(16px,calc((100vw - 972px)/2),68px);
    background-size:68px 204px;
  }
  .bk-brand-strip { background-size:100% 100%; }
  .bk-community-heading { background-size:100% 100%,520px 96px; }
  .section-index #page-body::after {
    height:110px;
    margin:-50px -20px -26px;
    background-size:100% auto;
  }
}
@media (max-width:820px) {
  .bk-page-frame::before,
  .bk-page-frame::after,
  .section-index #page-body::after { display:none; }
  .bk-brand-strip { background-size:100% 100%; }
  .section-index .bk-community-cards .bk-info-card {
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(251,245,236,.98)) !important;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}


/* v0.4.36 — side-ornament refinement. */
/* The Kbach stays present but reads as edge ornament, not wallpaper columns. */
.bk-page-frame::before,
.bk-page-frame::after {
  width:clamp(20px,calc((100vw - 1412px)/2),96px);
  background-size:156px 468px;
  background-repeat:repeat-y;
  opacity:.58;
  filter:sepia(.12) saturate(.78) brightness(1.06);
  mix-blend-mode:multiply;
}
.bk-page-frame::before {
  background-position:right top;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 20%,#000 72%,rgba(0,0,0,.72) 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 20%,#000 72%,rgba(0,0,0,.72) 88%,transparent 100%);
}
.bk-page-frame::after {
  background-position:left top;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 12%,#000 28%,rgba(0,0,0,.42) 80%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 12%,#000 28%,rgba(0,0,0,.42) 80%,transparent 100%);
}

@media (max-width:1100px) {
  .bk-page-frame::before,
  .bk-page-frame::after {
    width:clamp(16px,calc((100vw - 1036px)/2),62px);
    background-size:118px 354px;
    opacity:.48;
  }
}

@media (max-width:820px) {
  .bk-page-frame::before,
  .bk-page-frame::after { display:none; }
}


/* v0.4.44 — the mockup uses a warm cream tonal wash, not dark fog. */

/* The brand skyline is deliberately small and quiet. It is independent from the
   larger Conversations composition below. */
.bk-brand-strip {
  position:relative;
  isolation:isolate;
  background-color:var(--bk-parchment-surface);
  background-image:none !important;
}
.bk-brand-strip::before {
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(360px,30%);
  height:105px;
  transform:translateX(-50%);
  background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/cover no-repeat;
  opacity:.46;
  mix-blend-mode:multiply;
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
}
.bk-brand-strip::after { content:none !important; }
.bk-brand-strip > * { position:relative; z-index:1; }

/* A separate fog wash creates the mockup's depth without tinting or flattening
   the Angkor artwork itself. The clean left reading area remains untouched. */
.bk-community-heading {
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(ellipse 57% 92% at 68% 94%,rgba(210,176,122,.24) 0%,rgba(224,196,151,.17) 43%,rgba(239,220,188,.10) 65%,rgba(250,244,232,0) 83%),
    linear-gradient(90deg,rgba(250,244,232,0) 30%,rgba(225,198,154,.06) 43%,rgba(216,184,133,.12) 67%,rgba(230,207,170,.08) 88%,rgba(250,244,232,0) 100%) !important;
}
.bk-community-heading::before {
  content:"" !important;
  display:block !important;
  position:absolute;
  z-index:0;
  left:auto;
  right:16%;
  top:auto;
  bottom:0;
  width:min(430px,36%);
  height:122px;
  transform:none;
  border-radius:0;
  background:url("/assets/images/bekhmer/bekhmer-community-scene-v0441.webp") center bottom/auto 122px no-repeat;
  opacity:1;
  mix-blend-mode:normal;
  filter:brightness(1.08) saturate(.84);
  pointer-events:none;
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 13%,#000 38%,#000 100%);
  mask-image:
    linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 13%,#000 38%,#000 100%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
.bk-community-copy,
.bk-community-note,
.bk-index-tools { position:relative; z-index:1; }
.bk-community-note {
  position:absolute;
  right:15%;
  bottom:11px;
  width:360px;
}

@media (max-width:1180px) {
  .bk-brand-strip::before { width:min(330px,29%); height:96px; opacity:.42; }
  .bk-community-heading::before { right:11%; width:min(410px,38%); height:116px; background-size:auto 116px; }
  .bk-community-note { right:12%; width:310px; }
}
@media (max-width:900px) {
  .bk-brand-strip::before { width:min(285px,32%); height:84px; opacity:.38; }
  .bk-community-heading::before { right:1%; width:370px; height:112px; background-size:auto 112px; opacity:.82; }
  .bk-community-note { right:18px; bottom:9px; width:250px; }
}
@media (max-width:620px) {
  .bk-brand-strip::before { width:min(210px,37%); height:66px; opacity:.30; }
  .bk-community-heading::before { right:0; width:270px; height:96px; background-size:auto 96px; opacity:.58; }
  .bk-community-note { display:none; }
}


/* v0.5.0 — combined BeKhmer portal/forum system */
:root{
  --bk-serif:"Cormorant Garamond",Georgia,"Times New Roman",Times,serif;
  --bk-sans:"Source Sans 3",Arial,"Helvetica Neue",Helvetica,sans-serif;
}
.bk-brand-strip{min-height:90px;padding:14px 36px;justify-content:flex-start}
.bk-logo{flex:0 1 286px}
.bk-logo img{width:286px}
.bk-motto,.bk-hero-kicker,.bk-hero-message,.bk-eyebrow,.bk-community-note{display:none!important}
.bk-primary-links a{font-size:14px;font-weight:600}
.bk-forum-hero{min-height:315px;padding:34px 36px;background:url("/assets/images/bekhmer/bekhmer-hero-v0500.webp") center center/cover no-repeat}
.bk-forum-hero-copy{max-width:600px}
.bk-forum-hero h1{margin:0 0 10px;font-size:48px;line-height:1}
.bk-forum-hero p{max-width:525px;font-size:16px;line-height:1.5}
.bk-community-heading{align-items:center;margin-bottom:16px}
.bk-community-copy h2,.bk-community-heading h2{margin:0;font-size:28px;line-height:1.08}
.bk-community-copy p{display:none}
.bk-login-card h3{font-size:23px}
.bk-login-card p{font-size:14px}
@media(max-width:900px){
  .bk-brand-strip{min-height:82px;padding:12px 20px}
  .bk-logo{flex-basis:255px}.bk-logo img{width:255px}
}
@media(max-width:620px){
  .bk-forum-hero h1{font-size:38px}
  .bk-forum-hero p{font-size:15px}
  .bk-primary-links a{font-size:13px}
  .bk-community-copy h2,.bk-community-heading h2{font-size:25px}
}


/* v0.5.2 — restore useful header links, tighten navigation, and carry the
   approved index visual language into inner forum/topic pages. */

/* The upper-right copy is functional navigation, not decorative filler. */
@media (min-width:901px) {
  .bk-brand-strip { justify-content:space-between; }
  .bk-brand-strip .bk-motto { display:block!important; }
  .bk-motto span { display:flex; justify-content:flex-end; align-items:center; gap:0; }
  .bk-motto a { color:#715f54!important; text-decoration:none; }
  .bk-motto a:hover,.bk-motto a:focus { color:var(--bk-maroon)!important; }

  /* Slimmer primary row; underline sits directly beneath the link text. */
  .bk-primary-nav { min-height:52px; }
  .bk-primary-links a.active-forum::after { bottom:11px; height:3px; }
  .bk-primary-actions { min-height:52px; gap:10px; }
  .bk-nav-search { width:34px; height:34px; padding-right:10px; }
  .bk-enter-button { min-height:34px; padding:0 15px; font-size:13px; line-height:1; }
}
@media (max-width:900px) {
  .bk-brand-strip .bk-motto { display:none!important; }
}

/* The speech-bubble status icon belongs to topic rows, never the TOPICS header. */
ul.topiclist li.header dl.row-item::before { content:none!important; display:none!important; }

/* Inner forum TOPICS bar uses the same crimson scene treatment as index category bars. */
body.section-viewforum ul.topiclist li.header {
  position:relative;
  background-color:#98171c;
  background-image:
    linear-gradient(90deg,rgba(142,14,21,.20) 0%,rgba(177,34,38,.06) 52%,rgba(119,9,16,.24) 100%),
    url("/assets/images/bekhmer/bekhmer-category-texture-v0430.webp");
  background-position:center,center;
  background-size:100% 100%,740px auto;
  background-repeat:no-repeat,no-repeat;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(239,197,104,.28);
}

/* Continue the approved lower Angkor scenery into forum/topic pages. */
.section-viewforum #page-body::after,
.section-viewtopic #page-body::after {
  content:"";
  display:block;
  position:relative;
  z-index:1;
  height:150px;
  margin:18px -36px -34px;
  background:url("/assets/images/bekhmer/bekhmer-footer-silhouette-v0444.webp") center bottom/100% auto no-repeat;
  opacity:.74;
  pointer-events:none;
}
@media (max-width:900px) {
  .section-viewforum #page-body::after,
  .section-viewtopic #page-body::after {
    height:110px;
    margin:10px -20px -26px;
    background-size:100% auto;
  }
}
@media (max-width:820px) {
  .section-viewforum #page-body::after,
  .section-viewtopic #page-body::after { display:none; }
}


/* v0.5.5 — replace the category scene asset with a taller Angkor strip and anchor it to the base of the red bar. */
.bk-section-header::before {
  background:url("/assets/images/bekhmer/bekhmer-category-scene-v0505.webp") center bottom/740px 53px no-repeat;
  clip-path:none;
}
body.section-viewforum ul.topiclist li.header {
  background-image:
    linear-gradient(90deg,rgba(142,14,21,.20) 0%,rgba(177,34,38,.06) 52%,rgba(119,9,16,.24) 100%),
    url("/assets/images/bekhmer/bekhmer-category-scene-v0505.webp");
  background-position:center,center bottom;
  background-size:100% 100%,740px 53px;
  background-repeat:no-repeat,no-repeat;
}

/* v0.5.7 — richer top-header scenery and translucent navigation over the hero. */
.bk-brand-strip{overflow:hidden}
.bk-brand-strip::before{
  left:50%;
  bottom:0;
  width:min(980px,74%);
  height:clamp(86px,8.4vw,118px);
  transform:translateX(-50%);
  background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/cover no-repeat;
  opacity:.38;
  mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);
}

@media (min-width:901px){
  .bk-primary-nav{
    position:relative;
    z-index:4;
    background:rgba(255,250,245,.52);
    border-bottom:1px solid rgba(232,221,210,.72);
  }
  .bk-primary-links a,.bk-account-name,.bk-nav-search{text-shadow:0 1px 0 rgba(255,255,255,.72)}
  .bk-forum-hero{
    margin-top:-52px;
    min-height:367px;
    padding:86px 36px 34px;
  }
}

@media (max-width:900px){
  .bk-brand-strip::before{width:min(640px,72%);height:80px;opacity:.30}
}
@media (max-width:620px){
  .bk-brand-strip::before{display:none}
}

/* v0.5.8 — keep the forum hero below navigation; extend the top scenic header through the menu row. */
@media (min-width:901px){
  #page-header{
    position:relative;
    isolation:isolate;
  }
  #page-header::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    top:0;
    width:min(1200px,86%);
    height:142px;
    transform:translateX(-50%);
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/100% auto no-repeat;
    opacity:.38;
    mix-blend-mode:multiply;
    pointer-events:none;
  }
  .bk-brand-strip{
    position:relative;
    z-index:1;
    overflow:visible;
    background:transparent!important;
  }
  .bk-brand-strip::before{content:none!important;display:none!important}
  .bk-primary-nav{
    position:relative;
    z-index:1;
    background:rgba(255,250,245,.50);
    border-bottom:1px solid rgba(232,221,210,.76);
  }
  .bk-forum-hero{
    position:relative;
    z-index:1;
    margin-top:0;
    min-height:315px;
    padding:34px 36px;
    background-position:center top;
  }
}

/* v0.5.9 — restore the approved people hero and anchor the top scenery to the
   brand + menu region only, ending at the base of the 50% tinted menu row. */
@media (min-width:901px){
  #page-header::before{
    top:0;
    bottom:auto;
    width:min(1200px,86%);
    height:160px;
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/100% 160px no-repeat;
    opacity:.38;
  }
  .bk-primary-nav{
    background:rgba(255,250,245,.50);
  }
  .bk-forum-hero{
    margin-top:0;
    min-height:315px;
    padding:34px 36px;
    background-image:url("/assets/images/bekhmer/bekhmer-hero-v0509.webp");
    background-position:center top;
    background-size:cover;
  }
}

/* v0.5.10 — restore the full countryside header artwork (including the boat
   and lower water detail) and carry it exactly to the base of the 50% tinted
   desktop menu row. The approved people hero stays separate below navigation. */
@media (min-width:901px){
  #page-header::before{
    left:0;
    top:0;
    bottom:auto;
    width:100%;
    height:142px;
    transform:none;
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center center/100% 142px no-repeat;
    opacity:.40;
  }
  .bk-primary-nav{
    background:rgba(255,250,245,.50);
  }
  .bk-forum-hero{
    margin-top:0;
    min-height:315px;
    padding:34px 36px;
    background-image:url("/assets/images/bekhmer/bekhmer-hero-v0509.webp");
    background-position:center top;
    background-size:cover;
  }
}


/* v0.5.11 — header crop correction only.
   1) Top decorative header scene: protect lower water/boat detail and seat the scene on the menu baseline.
   2) Main hero: protect the people’s legs/lower bodies by cropping more from the top than the bottom. */
@media (min-width:901px){
  #page-header::before{
    left:0;
    top:0;
    bottom:auto;
    width:100%;
    height:142px;
    transform:none;
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/auto 142px no-repeat;
    opacity:.40;
  }
  .bk-forum-hero{
    margin-top:0;
    min-height:315px;
    padding:34px 36px;
    background-image:url("/assets/images/bekhmer/bekhmer-hero-v0509.webp");
    background-position:center bottom;
    background-size:cover;
  }
}


/* v0.5.12 — inspect-and-fit correction for the two header crops only.
   Top decorative scene: preserve the complete lower water/boat edge, crop from the top,
   and seat the artwork on the menu-row baseline.
   Main hero: use the measured 3:1 source crop window so heads and lower bodies remain visible. */
@media (min-width:901px){
  #page-header::before{
    left:0;
    top:0;
    bottom:auto;
    width:100%;
    height:142px;
    transform:none;
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/auto 174px no-repeat;
    opacity:.40;
  }
  .bk-primary-nav{
    background:rgba(255,250,245,.50);
  }
  .bk-forum-hero{
    margin-top:0;
    min-height:315px;
    padding:34px 36px;
    background-image:url("/assets/images/bekhmer/bekhmer-hero-v0509.webp");
    background-position:center 25%;
    background-size:cover;
  }
}


/* v0.5.13 — header-fit correction.
   Top decorative header scene: return to the fuller source, keep a meaningful portion of the lower water,
   crop mainly from the top, and let the scene run down to the menu baseline without overscaling.
   Main hero: protect lower-body/leg area by favoring more bottom content than the previous pass. */
@media (min-width:901px){
  #page-header::before{
    left:0;
    top:0;
    width:100%;
    height:128px;
    transform:none;
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/auto 146px no-repeat;
    opacity:.38;
    mix-blend-mode:multiply;
  }
  .bk-primary-nav{
    background:rgba(255,250,245,.50);
    border-bottom:1px solid rgba(232,221,210,.76);
  }
  .bk-forum-hero{
    margin-top:0;
    min-height:315px;
    padding:34px 36px;
    background-image:url("/assets/images/bekhmer/bekhmer-hero-v0509.webp");
    background-position:center 40%;
    background-size:cover;
  }
}


/* v0.5.14 — top-header scene fit only.
   Use the fuller river source, preserve the water/boat/fish-trap detail, size by width rather than
   fixed height, and bottom-anchor it to the combined brand + menu baseline. Main hero unchanged. */
@media (min-width:901px){
  #page-header::before{
    left:50%;
    top:0;
    width:min(1040px,80%);
    height:142px;
    transform:translateX(-50%);
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/100% auto no-repeat;
    opacity:.38;
    mix-blend-mode:multiply;
  }
  .bk-primary-nav{
    background:rgba(255,250,245,.50);
    border-bottom:1px solid rgba(232,221,210,.76);
  }
}


/* v0.5.16 — correct top-header structure.
   The countryside scene now belongs only to a dedicated wrapper around the brand row + primary menu.
   This prevents the artwork from drifting into the hero/utility area. Extra top room lets the full palm crowns
   remain visible while the lower water reaches the menu baseline. */
@media (min-width:901px){
  .bk-top-header-scene{
    position:relative;
    isolation:isolate;
    padding-top:38px;
    background:#fbf6ec;
  }
  .bk-top-header-scene::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    bottom:0;
    width:min(900px,70%);
    height:180px;
    transform:translateX(-50%);
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/100% auto no-repeat;
    opacity:.40;
    mix-blend-mode:multiply;
    pointer-events:none;
  }
  .bk-top-header-scene > .bk-brand-strip,
  .bk-top-header-scene > .bk-primary-nav{
    position:relative;
    z-index:1;
  }
  .bk-top-header-scene > .bk-brand-strip{
    background:transparent!important;
  }
  .bk-top-header-scene > .bk-primary-nav{
    background:rgba(255,250,245,.50);
    border-bottom:1px solid rgba(232,221,210,.76);
  }
  /* Disable the older page-header scenery layer entirely. */
  #page-header::before{
    content:none!important;
    display:none!important;
  }
}


/* v0.5.17 — top-header spacing correction only.
   Keep the correct wrapper structure from v0.5.16, but sharply reduce the extra top spacing.
   The palm crowns must remain intact, the scene should sit higher in the brand row,
   and the menu row should mostly show the lower water portion. */
@media (min-width:901px){
  .bk-top-header-scene{
    padding-top:12px;
  }
  .bk-top-header-scene::before{
    width:min(900px,70%);
    height:170px;
    bottom:0;
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0514.webp") center bottom/100% auto no-repeat;
    opacity:.40;
  }
}

/* v0.5.23 — navigation role split + tighter forum intro. */
.bk-motto-pending{color:#715f54!important;font-style:normal;cursor:default}
.bk-community-heading{
  min-height:78px;
  margin-bottom:14px;
  padding:11px 18px 12px 22px;
  gap:10px 18px;
}
.bk-community-heading::after{top:10px;height:54px;width:16px}
.bk-community-heading h2{font-size:31px;line-height:1.05}
.bk-index-tools{font-size:12px}
@media(max-width:1080px){.bk-community-heading h2{font-size:29px}}
@media(max-width:900px){
  .bk-community-heading{padding:12px 16px 12px 20px;gap:7px}
  .bk-community-heading h2{font-size:27px}
}
@media(max-width:620px){.bk-community-heading h2{font-size:25px}}


/* ==========================================================================
   BeKhmer v0.5.41 — mobile usability + right-sized static image assets
   ========================================================================== */

.bk-logo picture,.bk-footer-logo picture{display:block;line-height:0}
.bk-logo{flex-basis:360px;max-width:360px}
.bk-logo img{width:360px;max-width:100%;height:auto}
.bk-footer-logo img{width:420px;max-width:100%;height:auto}
.bk-footer-corner-brand{
  position:absolute;top:14px;right:18px;z-index:6;display:block;
  width:140px;line-height:0;text-decoration:none;opacity:.86
}
.bk-footer-corner-brand img{display:block;width:140px;height:auto;margin:0;border:0;filter:drop-shadow(0 1px 2px rgba(30,0,2,.45))}

/* Current desktop compositions use downsized assets close to their rendered size. */
@media (min-width:901px){
  .bk-top-header-scene::before{
    background-image:url("/assets/images/bekhmer/bekhmer-header-skyline-v0541.webp")!important;
  }
  .bk-forum-hero{
    background-image:url("/assets/images/bekhmer/bekhmer-hero-v0541.webp")!important;
  }
  .bk-community-heading::before{
    background-image:url("/assets/images/bekhmer/bekhmer-community-scene-v0543.webp")!important;
  }
  .bk-footer{
    background-image:
      linear-gradient(90deg,rgba(48,0,4,.26) 0%,rgba(48,0,4,.15) 34%,rgba(48,0,4,.06) 62%,rgba(48,0,4,.03) 100%),
      url("/assets/images/bekhmer/bekhmer-footer-banner-v0541.webp")!important;
  }
}

/* Tablet: collapse complex forum rows without losing data. */
@media (max-width:900px){
  html,body{overflow-x:hidden}
  .bk-page-frame,#wrap,.wrap{max-width:100%}
  #wrap{margin:0!important;border-radius:0!important}
  .bk-brand-strip{min-height:78px!important;padding:11px 18px!important}
  .bk-logo{flex-basis:300px!important;max-width:300px}
  .bk-logo img{width:100%!important}
  .bk-primary-nav{display:block!important;padding:0 16px 9px!important}
  .bk-primary-links{
    display:flex!important;gap:21px!important;width:100%;overflow-x:auto;
    padding:5px 1px 9px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain
  }
  .bk-primary-links::-webkit-scrollbar{display:none}
  .bk-primary-links a{flex:0 0 auto;min-height:40px;display:flex;align-items:center}
  .bk-primary-actions{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    gap:10px!important;padding-top:8px!important;border-top:1px solid #eadfd3
  }
  .bk-account-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bk-enter-button{min-height:40px;white-space:nowrap}
  .bk-forum-hero{
    min-height:360px!important;padding:28px 24px!important;
    background-image:url("/assets/images/bekhmer/bekhmer-hero-mobile-v0541.webp")!important;
    background-position:center center!important;background-size:cover!important
  }
  .bk-forum-hero-copy{max-width:500px}
  .bk-forum-hero h1{font-size:42px}
  .bk-utility{padding-left:16px!important;padding-right:16px!important;gap:10px!important}
  .bk-breadcrumb-row{padding-left:16px!important;padding-right:16px!important}
  .bk-breadcrumbs{min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .bk-breadcrumbs::-webkit-scrollbar{display:none}

  .bk-forum-card{
    grid-template-columns:50px minmax(0,1fr) 118px 22px!important;
    gap:12px!important;padding:14px!important
  }
  .bk-forum-latest{
    grid-column:2/4!important;border-left:0!important;border-top:1px solid #eee2d5!important;
    padding:9px 0 0!important;min-width:0
  }
  .bk-forum-latest>*{min-width:0}
  .bk-community-cards{grid-template-columns:1fr!important}
  .bk-login-card{grid-template-columns:1fr!important;gap:18px!important}
  .bk-login-card form{grid-template-columns:1fr 1fr auto!important}

  /* Topic pages: stack author information above post content instead of squeezing it. */
  .post{display:flex!important;flex-direction:column!important}
  .postbody{width:100%!important;padding:18px 18px 20px!important;order:2}
  .postprofile{
    width:100%!important;padding:14px 18px!important;border-left:0!important;
    border-bottom:1px solid #eadccc!important;order:1
  }
  .postprofile dt,.postprofile dd{display:inline-block;margin-right:12px;vertical-align:middle}
  .postprofile .avatar{display:inline-block}
  .post-buttons{top:10px!important;right:10px!important}
  .content{overflow-wrap:anywhere}

  .bk-footer{
    background-image:
      linear-gradient(180deg,rgba(77,4,10,.28),rgba(62,2,7,.56)),
      url("/assets/images/bekhmer/bekhmer-footer-banner-mobile-v0541.webp")!important;
    background-position:center top!important;background-size:cover!important
  }
  .bk-footer-main{
    grid-template-columns:1fr 1fr!important;min-height:0!important;
    padding:34px 28px 30px!important;gap:24px 28px!important
  }
  .bk-footer-brand-column,.bk-footer-culture{grid-column:1/-1!important}
  .bk-footer-brand-column{width:min(100%,420px)!important}
  .bk-footer-column{padding:0!important;border-left:0!important}
  .bk-footer-culture{width:min(100%,520px)!important;margin:0!important}
  .bk-copyright{padding-left:28px!important;padding-right:28px!important}
}

/* Phone layouts: 320–430px. */
@media (max-width:620px){
  body{font-size:15px}
  .bk-brand-strip{justify-content:flex-start!important;padding:10px 12px!important}
  .bk-logo{flex-basis:260px!important;max-width:78vw}
  .bk-logo img{width:100%!important}
  .bk-primary-nav{padding:0 12px 8px!important}
  .bk-primary-links{gap:18px!important;padding-bottom:7px!important}
  .bk-primary-links a{font-size:14px!important;min-height:42px}
  .bk-primary-actions{justify-content:space-between!important;min-height:48px}
  .bk-account-name{display:none!important}
  .bk-nav-search{min-width:40px;min-height:40px;display:grid!important;place-items:center}
  .bk-enter-button{min-height:40px;padding-left:13px!important;padding-right:13px!important}

  .bk-forum-hero{min-height:410px!important;padding:26px 16px 28px!important}
  .bk-forum-hero-copy{align-self:flex-end!important;width:100%}
  .bk-forum-hero h1{font-size:38px!important;max-width:300px}
  .bk-forum-hero p{font-size:16px!important;max-width:300px}
  .bk-hero-actions{display:grid!important;grid-template-columns:1fr!important;width:min(100%,280px);gap:9px!important}
  .bk-hero-button{min-height:44px;display:flex!important;align-items:center!important;justify-content:center!important}

  .bk-utility{
    padding:8px 12px!important;align-items:center!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;scrollbar-width:none
  }
  .bk-utility::-webkit-scrollbar{display:none}
  .bk-utility-left,.bk-utility-right{flex:0 0 auto!important}
  .bk-user-chip span{max-width:95px;overflow:hidden;text-overflow:ellipsis}
  .bk-breadcrumb-row{padding:7px 12px!important}
  .bk-breadcrumbs{font-size:12px}

  #page-body{padding-left:12px!important;padding-right:12px!important}
  h2.forum-title,h2.topic-title,.topic-title,.forum-title{font-size:29px!important;overflow-wrap:anywhere}
  .action-bar{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .action-bar .buttons,.action-bar .pagination{float:none!important;margin:0!important}
  .pagination{max-width:100%;overflow-x:auto;white-space:nowrap}

  .bk-community-heading{min-height:0!important;padding:12px 14px!important}
  .bk-community-heading::before,.bk-community-heading::after{display:none!important}
  .bk-community-heading h2{font-size:25px!important;overflow-wrap:anywhere}
  .bk-index-tools{width:100%;overflow-x:auto;white-space:nowrap}

  .bk-section-header{min-height:48px!important;padding:9px 12px!important}
  .bk-section-header h2{font-size:13px!important;line-height:1.3}
  .bk-section-label{display:none!important}
  .bk-section-emblem{width:26px;height:26px;flex-basis:26px}

  .bk-forum-card{
    grid-template-columns:44px minmax(0,1fr) 18px!important;
    gap:10px!important;min-height:0!important;padding:13px 11px!important
  }
  .bk-forum-icon{width:42px!important;height:42px!important}
  .bk-forum-title{font-size:17px!important}
  .bk-forum-desc{font-size:14px!important;line-height:1.42}
  .bk-forum-stats{display:none!important}
  .bk-forum-latest{
    grid-column:2/4!important;padding:8px 0 0!important;
    font-size:12px!important;overflow:hidden
  }
  .bk-latest-title{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .bk-forum-chevron{grid-column:3!important;grid-row:1!important}

  /* Native phpBB topic/forum lists: hide secondary columns before they can overflow. */
  ul.topiclist dl{display:block!important}
  ul.topiclist dt{width:auto!important;margin-right:0!important}
  ul.topiclist dd.posts,ul.topiclist dd.views,ul.topiclist dd.topics,ul.topiclist dd.lastpost,ul.topiclist dd.redirect{
    display:none!important
  }
  body.section-viewforum .forumbg ul.topiclist.topics dl.row-item{
    min-height:0!important;padding:12px 10px 12px 48px!important
  }
  .list-inner{padding-right:0!important;overflow-wrap:anywhere}

  .postprofile{padding:12px 14px!important}
  .postprofile dt,.postprofile dd{display:block!important;margin:0!important}
  .postprofile .avatar{float:left;margin:0 12px 5px 0}
  .postbody{padding:16px 14px 18px!important}
  .postbody .content{font-size:16px!important;line-height:1.65!important}
  .postbody h3{font-size:21px!important;padding-right:72px}
  .post-buttons{max-width:72px}
  blockquote{margin-left:0!important;margin-right:0!important}
  .codebox{max-width:100%;overflow:auto}

  .panel{padding:14px!important}
  fieldset.fields1 dl,fieldset.fields2 dl{display:block!important}
  fieldset.fields1 dt,fieldset.fields2 dt,fieldset.fields1 dd,fieldset.fields2 dd{
    width:100%!important;margin:0!important;float:none!important
  }
  input.inputbox,textarea.inputbox,select{max-width:100%!important;font-size:16px!important}
  textarea.inputbox{width:100%!important}
  .button,.button1,.button2{min-height:40px}

  /* Mobile footer: stack content and use the portrait crop. */
  .bk-footer{border-radius:0!important}
  .bk-footer-corner-brand{display:none!important}
  .bk-footer-main{
    grid-template-columns:1fr!important;padding:28px 20px 26px!important;gap:22px!important
  }
  .bk-footer-brand-column,.bk-footer-culture{grid-column:auto!important}
  .bk-footer-brand-column{width:min(100%,300px)!important}
  .bk-footer-logo img{width:300px!important;max-width:100%}
  .bk-footer-slogan{display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-start!important}
  .bk-footer-slogan strong{font-size:17px!important}
  .bk-footer-slogan b{font-size:15px!important}
  .bk-footer-column{gap:9px!important}
  .bk-footer-column h3{font-size:16px!important;margin-bottom:4px!important}
  .bk-footer-column a{font-size:16px!important;line-height:1.45!important}
  .bk-footer-culture>span{font-size:18px!important}
  .bk-footer-culture>strong{font-size:27px!important}
  .bk-footer-culture p{font-size:17px!important;line-height:1.55!important}
  .bk-copyright{
    padding:13px 20px 18px!important;align-items:flex-start!important;
    flex-direction:column!important;gap:6px!important;font-size:13px!important
  }
  .bk-copyright-motto{margin-left:0!important}
}

@media (max-width:360px){
  #page-body{padding-left:10px!important;padding-right:10px!important}
  .bk-brand-strip{padding-left:10px!important;padding-right:10px!important}
  .bk-primary-nav{padding-left:10px!important;padding-right:10px!important}
  .bk-logo{max-width:235px}
  .bk-forum-hero{padding-left:14px!important;padding-right:14px!important}
  .bk-forum-hero h1{font-size:35px!important}
  .bk-footer-main,.bk-copyright{padding-left:16px!important;padding-right:16px!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* v0.5.43 — restore the taller desktop Community Discussions intro.
   The mobile pass must not compress the approved desktop composition. */
@media (min-width:901px){
  .bk-community-heading{
    min-height:122px;
    padding:16px 20px 16px 24px;
    gap:24px;
  }
  .bk-community-heading::before{
    right:16%;
    width:min(430px,36%);
    height:122px;
    background:url("/assets/images/bekhmer/bekhmer-community-scene-v0543.webp") center bottom/auto 122px no-repeat!important;
  }
  .bk-community-heading::after{
    top:50%;
    width:20px;
    height:72px;
    transform:translateY(-50%);
  }
}


/* ==========================================================================
   BeKhmer v0.5.47 — corrected phone footer composition
   ========================================================================== */
@media (max-width:620px){
  .bk-footer{
    background-color:#6d0c12!important;
    background-image:
      linear-gradient(to bottom,rgba(65,0,6,.04) 0,rgba(65,0,6,.06) 72px,rgba(65,0,6,.88) 108px,rgba(65,0,6,.98) 145px),
      url("/assets/images/bekhmer/bekhmer-footer-banner-mobile-v0547.webp")!important;
    background-position:center top!important;
    background-size:100% auto!important;
    background-repeat:no-repeat!important;
  }

  .bk-footer-corner-brand{display:none!important}

  .bk-footer-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    padding:126px 18px 22px!important;
    gap:18px 24px!important;
    min-height:0!important;
  }

  .bk-footer-brand-column{
    grid-column:1/-1!important;
    width:min(100%,220px)!important;
  }
  .bk-footer-logo img{
    width:220px!important;
    max-width:100%!important;
    height:auto!important;
  }
  .bk-footer-slogan{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:4px 6px!important;
    margin-top:7px!important;
  }
  .bk-footer-slogan strong{font-size:14px!important;line-height:1.2!important}
  .bk-footer-slogan b{font-size:12px!important;line-height:1.2!important}

  .bk-footer-column{
    grid-column:auto!important;
    min-width:0!important;
    gap:7px!important;
    padding:0!important;
    border-left:0!important;
  }
  .bk-footer-column h3{
    font-size:14px!important;
    margin:0 0 4px!important;
    letter-spacing:.08em!important;
  }
  .bk-footer-column a{
    font-size:14px!important;
    line-height:1.4!important;
    overflow-wrap:anywhere!important;
  }

  .bk-footer-culture{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:310px!important;
    margin:0!important;
  }
  .bk-footer-culture>span{font-size:15px!important}
  .bk-footer-culture>strong{font-size:22px!important;line-height:1.08!important}
  .bk-footer-culture p{font-size:14px!important;line-height:1.5!important;margin-top:8px!important}

  .bk-copyright{
    padding:12px 18px 16px!important;
    gap:5px!important;
    font-size:11.5px!important;
    line-height:1.4!important;
  }
}

@media (max-width:360px){
  .bk-footer-main{
    padding:112px 15px 20px!important;
    gap:16px 18px!important;
  }
  .bk-footer-brand-column{width:min(100%,205px)!important}
  .bk-footer-logo img{width:205px!important}
  .bk-footer-column h3,.bk-footer-column a{font-size:13px!important}
  .bk-footer-culture>strong{font-size:21px!important}
  .bk-copyright{padding-left:15px!important;padding-right:15px!important}
}


/* ==========================================================================
   BeKhmer v0.5.48 — mobile footer full-artwork correction
   ========================================================================== */
@media (max-width:620px){
  .bk-footer{
    background-color:#6b0a10!important;
    background-image:
      linear-gradient(90deg,rgba(54,0,5,.62) 0%,rgba(54,0,5,.46) 48%,rgba(54,0,5,.22) 100%),
      linear-gradient(180deg,rgba(54,0,5,.08) 0%,rgba(54,0,5,.28) 58%,rgba(54,0,5,.68) 100%),
      url("/assets/images/bekhmer/bekhmer-footer-mobile-first-source-v0553.webp")!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }

  .bk-footer-corner-brand{display:none!important}

  .bk-footer-main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    padding:24px 18px 18px!important;
    gap:14px 20px!important;
  }

  .bk-footer-brand-column{
    grid-column:1/-1!important;
    width:min(100%,195px)!important;
  }
  .bk-footer-logo img{
    width:195px!important;
    max-width:100%!important;
    height:auto!important;
  }

  .bk-footer-slogan{
    gap:3px 5px!important;
    margin-top:5px!important;
  }
  .bk-footer-slogan strong{font-size:13px!important;line-height:1.18!important}
  .bk-footer-slogan b{font-size:11px!important;line-height:1.18!important}

  .bk-footer-culture{
    grid-column:1/-1!important;
    max-width:270px!important;
    margin:0!important;
  }
  .bk-footer-culture>span{font-size:14px!important}
  .bk-footer-culture>strong{font-size:20px!important;line-height:1.08!important}
  .bk-footer-culture p{font-size:13px!important;line-height:1.45!important;margin-top:6px!important}

  .bk-footer-column{
    min-width:0!important;
    gap:5px!important;
  }
  .bk-footer-column h3{
    font-size:13px!important;
    margin-bottom:2px!important;
  }
  .bk-footer-column a{
    font-size:13px!important;
    line-height:1.35!important;
  }

  .bk-copyright{
    background:rgba(69,0,7,.48)!important;
    padding:10px 18px 13px!important;
    gap:4px!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
}

@media (max-width:360px){
  .bk-footer-main{
    padding:20px 15px 16px!important;
    gap:12px 16px!important;
  }
  .bk-footer-brand-column{width:min(100%,180px)!important}
  .bk-footer-logo img{width:180px!important}
  .bk-footer-culture{max-width:250px!important}
  .bk-footer-column h3,.bk-footer-column a{font-size:12.5px!important}
}


/* ==========================================================================
   BeKhmer v0.5.56 — mobile footer slogan sizing
   Uses the clean first-source mobile artwork (780×460), keeps the
   compact Option A layout, and preserves the artwork's native aspect ratio.
   The image may crop slightly to fill the footer, but it will never stretch
   or squash as the footer height changes. Desktop footer remains unchanged.
   ========================================================================== */
@media (max-width:620px){
  .bk-footer{
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }

  .bk-footer-main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    padding:18px 18px 14px!important;
    gap:12px 18px!important;
    min-height:0!important;
  }

  .bk-footer-brand-column{
    grid-column:1/-1!important;
    width:min(100%,170px)!important;
  }
  .bk-footer-logo img{
    width:170px!important;
    max-width:100%!important;
    height:auto!important;
  }

  .bk-footer-slogan{
    margin-top:4px!important;
    gap:2px 3px!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
  .bk-footer-slogan strong{
    font-size:11.5px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .bk-footer-slogan b{
    font-size:10px!important;
    line-height:1.15!important;
  }

  .bk-footer-culture{
    display:none!important;
  }

  .bk-footer-column{
    grid-column:auto!important;
    gap:4px!important;
    min-width:0!important;
  }
  .bk-footer-column h3{
    font-size:12px!important;
    margin:0 0 3px!important;
    letter-spacing:.08em!important;
  }
  .bk-footer-column a{
    font-size:12px!important;
    line-height:1.3!important;
  }

  .bk-copyright{
    padding:9px 18px 11px!important;
    gap:3px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
  }
}

@media (max-width:360px){
  .bk-footer-main{
    padding:16px 14px 12px!important;
    gap:10px 14px!important;
  }
  .bk-footer-brand-column{width:min(100%,160px)!important}
  .bk-footer-logo img{width:160px!important}
  .bk-footer-slogan strong{font-size:10.5px!important}
  .bk-footer-slogan b{font-size:9.25px!important}
  .bk-footer-column h3,.bk-footer-column a{font-size:11.5px!important}
  .bk-copyright{
    padding-left:14px!important;
    padding-right:14px!important;
    font-size:10px!important;
  }
}


/* ==========================================================================
   BeKhmer v0.5.57 — dedicated mobile navigation
   Desktop forum navigation remains unchanged. At <=900px the horizontal
   primary row is replaced with the shared BeKhmer mobile drawer.
   ========================================================================== */
.bk-mobile-menu-toggle,.bk-mobile-menu,.bk-mobile-menu-backdrop{display:none}

@media (max-width:900px){
  body.bk-mobile-menu-open{overflow:hidden!important}
  .bk-top-header-scene{position:relative;z-index:30}
  .bk-brand-strip{justify-content:space-between!important;gap:12px!important}
  .bk-logo{max-width:calc(100vw - 92px)!important}
  .bk-primary-nav{display:none!important}

  .bk-mobile-menu-toggle{
    display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:0;
    border:1px solid rgba(117,13,18,.20);border-radius:12px;background:rgba(255,252,247,.92);
    color:#750d12;box-shadow:0 5px 16px rgba(74,32,20,.09);cursor:pointer
  }
  .bk-mobile-menu-toggle:hover,.bk-mobile-menu-toggle:focus-visible{
    border-color:rgba(117,13,18,.42);background:#fff;outline:0;box-shadow:0 0 0 3px rgba(181,137,64,.18)
  }
  .bk-mobile-menu-icon{display:flex;flex-direction:column;gap:4px;width:22px}
  .bk-mobile-menu-icon i{display:block;width:22px;height:2px;border-radius:2px;background:currentColor}

  .bk-mobile-menu-backdrop{
    display:block;position:fixed;inset:0;z-index:9998;background:rgba(30,12,9,.48);
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)
  }
  .bk-mobile-menu-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .bk-mobile-menu{
    display:flex;position:fixed;z-index:9999;top:0;right:0;bottom:0;width:min(88vw,370px);
    height:100vh;height:100dvh;flex-direction:column;background:#fffaf3;color:#45342d;
    border-left:1px solid rgba(117,13,18,.16);box-shadow:-18px 0 46px rgba(42,16,11,.24);
    transform:translateX(104%);visibility:hidden;transition:transform .24s ease,visibility .24s ease;
    overflow:hidden;text-align:left
  }
  .bk-mobile-menu.is-open{transform:translateX(0);visibility:visible}
  .bk-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:13px 16px 13px 20px;background:linear-gradient(135deg,#741015 0%,#981920 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
  .bk-mobile-menu-brand{display:flex;flex-direction:column;gap:1px;min-width:0}
  .bk-mobile-menu-brand strong{font:600 25px/1 var(--bk-serif);letter-spacing:.01em;color:#fff}
  .bk-mobile-menu-brand span{font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f0d7a2}
  .bk-mobile-menu-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(255,255,255,.08);color:#fff;font-size:28px;line-height:1;cursor:pointer}
  .bk-mobile-menu-close:hover,.bk-mobile-menu-close:focus-visible{background:rgba(255,255,255,.16);outline:2px solid rgba(244,206,112,.55);outline-offset:1px}
  .bk-mobile-menu-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:17px 18px 24px}
  .bk-mobile-menu-search{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 8px 7px 13px;border:1px solid #ddcdbd;border-radius:12px;background:#fff}
  .bk-mobile-menu-search input{width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#45342d;font:500 16px/1.2 var(--bk-sans);padding:5px 0!important}
  .bk-mobile-menu-search button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:0;border-radius:9px;background:#f4e7d8;color:#7c1217;cursor:pointer}
  .bk-mobile-menu-label{margin:17px 4px 7px;color:#9a806c;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
  .bk-mobile-menu-nav{display:flex;flex-direction:column;gap:3px}
  .bk-mobile-menu-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;padding:9px 12px;border-radius:10px;color:#514039!important;text-decoration:none!important;font-size:16px;font-weight:650;line-height:1.25}
  .bk-mobile-menu-link::after{content:"›";color:#b79a79;font:500 23px/1 Georgia,serif}
  .bk-mobile-menu-link:hover,.bk-mobile-menu-link:focus-visible{background:#f3e5d6;color:#7b1217!important;outline:0}
  .bk-mobile-menu-link.is-active{background:#f2dfce;color:#7b1217!important;box-shadow:inset 3px 0 0 #8b151a}
  .bk-mobile-menu-link.is-active::after{color:#8b151a}
  .bk-mobile-menu-divider{height:1px;margin:16px 4px;background:#eadbcb}
  .bk-mobile-menu-account{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}
  .bk-mobile-menu-account .bk-enter-button,.bk-mobile-menu-account-link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%;min-height:43px;padding:9px 12px;border-radius:10px;box-sizing:border-box;text-decoration:none!important}
  .bk-mobile-menu-account-link{border:1px solid #dbc7b3;background:#fff;color:#6f171c!important;font-weight:700}
  .bk-mobile-menu-account-link:hover,.bk-mobile-menu-account-link:focus-visible{background:#f7ebde;outline:0}
  .bk-mobile-menu-slogan{margin:20px 4px 0;padding-top:14px;border-top:1px solid #eadbcb;color:#9a7650;font:italic 600 15px/1.35 var(--bk-serif);text-align:center}
}

@media (max-width:360px){
  .bk-mobile-menu{width:min(91vw,340px)}
  .bk-mobile-menu-scroll{padding-left:15px;padding-right:15px}
}


/* =========================================================
   v0.5.59 — Private maintenance presentation
   Public visitors see only the Malis maintenance artwork.
   Administrators retain normal front-end preview access.
   ========================================================= */
body.bk-maintenance-lock{
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#1f100b!important;
}
body.bk-maintenance-lock > *:not(.bk-forum-maintenance):not(script):not(style){
  display:none!important;
}
.bk-forum-maintenance{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  background:
    radial-gradient(circle at 50% 18%, rgba(150,89,43,.26), transparent 48%),
    #1f100b;
}
.bk-forum-maintenance-picture{
  display:block;
  width:100vw;
  height:100vh;
  line-height:0;
}
.bk-forum-maintenance-art{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
}
.bk-maintenance-sr{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media (max-width:700px){
  .bk-forum-maintenance{
    background:#1a0d09;
  }
}


/* v0.5.60 — Interests navigation + corrected topic share loading */
@media (min-width:901px){
  .bk-primary-links{overflow:visible!important}
  .bk-nav-dropdown{position:relative;display:flex;align-items:stretch;height:100%}
  .bk-primary-links .bk-nav-dropdown-toggle{position:relative;display:flex;align-items:center;gap:6px;height:100%;padding:0;border:0;background:transparent;color:#574741;font:600 var(--bk-text-md)/1 var(--bk-sans);white-space:nowrap;cursor:pointer}
  .bk-primary-links .bk-nav-dropdown-toggle:hover,.bk-primary-links .bk-nav-dropdown-toggle:focus-visible,.bk-nav-dropdown.is-open>.bk-nav-dropdown-toggle{color:var(--bk-maroon);outline:0}
  .bk-nav-dropdown-caret{font-size:11px;line-height:1;transition:transform .18s ease}
  .bk-nav-dropdown.is-open .bk-nav-dropdown-caret{transform:rotate(180deg)}
  .bk-nav-dropdown-menu{position:absolute;z-index:250;top:calc(100% - 1px);right:0;min-width:172px;padding:7px;background:#fffdf9;border:1px solid #dfcfbd;border-radius:0 0 11px 11px;box-shadow:0 14px 28px rgba(55,35,25,.16);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
  .bk-nav-dropdown.is-open>.bk-nav-dropdown-menu,.bk-nav-dropdown:focus-within>.bk-nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .bk-primary-links .bk-nav-dropdown-menu a{display:flex;align-items:center;min-height:38px;padding:8px 11px;border-radius:7px;color:#574741!important;font-size:14px;line-height:1.2}
  .bk-primary-links .bk-nav-dropdown-menu a:hover,.bk-primary-links .bk-nav-dropdown-menu a:focus-visible{background:#f5e8da;color:var(--bk-maroon)!important;outline:0}
}
@media (max-width:900px){.bk-nav-dropdown{display:none!important}}
.bk-mobile-submenu{display:flex;flex-direction:column;gap:3px}
.bk-mobile-submenu-toggle{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font-family:inherit}
.bk-mobile-submenu-toggle::after{content:"⌄"!important;font:700 17px/1 var(--bk-sans)!important;transition:transform .18s ease}
.bk-mobile-submenu.is-open>.bk-mobile-submenu-toggle::after{transform:rotate(180deg)}
.bk-mobile-submenu-panel{display:none;padding:2px 0 4px 14px}
.bk-mobile-submenu.is-open>.bk-mobile-submenu-panel{display:flex;flex-direction:column;gap:3px}
.bk-mobile-submenu-panel .bk-mobile-menu-link{min-height:42px;background:#fffaf4;font-size:15px}
.bk-mobile-submenu-panel .bk-mobile-menu-link::after{content:"›"!important;transform:none!important}

.bk-share-item{position:relative}
.bk-share-trigger{display:inline-flex!important;align-items:center;gap:5px;min-height:26px;padding:4px 8px!important;cursor:pointer;white-space:nowrap}
.bk-share-trigger .icon{margin:0!important}.bk-share-label{display:inline!important;font:600 12px/1 var(--bk-sans)}
.bk-share-popover{position:fixed;z-index:10050;width:210px;padding:7px;background:#fffdf9;border:1px solid #ddcbb6;border-radius:11px;box-shadow:0 16px 38px rgba(47,30,21,.22);font:600 14px/1.2 var(--bk-sans)}
.bk-share-popover[hidden]{display:none!important}
.bk-share-option{display:flex;width:100%;align-items:center;gap:10px;min-height:42px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:#4b3730!important;text-align:left;cursor:pointer;font:600 14px/1.2 var(--bk-sans)}
.bk-share-option:hover,.bk-share-option:focus-visible{background:#f3e5d6;color:var(--bk-maroon)!important;outline:0}
.bk-share-option .icon{width:18px;text-align:center;color:var(--bk-maroon)!important}
.bk-share-toast{position:fixed;z-index:10060;left:50%;bottom:24px;transform:translate(-50%,10px);padding:9px 14px;border-radius:999px;background:#4d080c;color:#fff;font:700 13px/1.2 var(--bk-sans);box-shadow:0 9px 24px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.bk-share-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media (max-width:700px){.bk-share-popover{width:min(220px,calc(100vw - 24px))}.bk-share-toast{bottom:18px}}

/* BeKhmer v0.5.61: topic share is independent of phpBB post-action permissions. */
.bk-topic-share-inline{display:flex;justify-content:flex-end;align-items:center;clear:both;margin:2px 0 10px;padding:0;position:relative;z-index:3}
.bk-topic-share-inline .bk-share-trigger{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:30px!important;padding:5px 10px!important;border:1px solid #d7c2a7!important;border-radius:6px!important;background:#fffaf3!important;color:#6f171b!important;box-shadow:none!important;cursor:pointer;white-space:nowrap}
.bk-topic-share-inline .bk-share-trigger:hover,.bk-topic-share-inline .bk-share-trigger:focus-visible{background:#f5e7d7!important;border-color:#c7a77d!important;color:#5b0f13!important;outline:0}
.bk-topic-share-inline .bk-share-trigger .icon{margin:0!important;color:#7d1719!important}
.bk-topic-share-inline .bk-share-label{display:inline!important;font:700 12px/1 var(--bk-sans)}
@media (max-width:700px){.bk-topic-share-inline{margin-top:4px;margin-bottom:12px}.bk-topic-share-inline .bk-share-trigger{min-height:34px!important;padding:7px 11px!important}}


/* BeKhmer v0.5.62 — universal public-page sharing */
.bk-page-share-strip{position:relative;z-index:20;background:transparent}
.bk-page-share-inner{display:flex;justify-content:flex-end;align-items:center;min-height:42px;padding-top:6px;padding-bottom:6px}
.bk-page-share-strip--forum .bk-page-share-inner{min-height:38px;padding:4px 0}
.bk-page-share-button{display:inline-flex!important;align-items:center;gap:7px;min-height:32px;padding:6px 11px;border:1px solid #d7c2a7;border-radius:999px;background:#fffaf3;color:#6f171b!important;box-shadow:0 2px 8px rgba(61,34,20,.06);font:700 12px/1.1 "Source Sans 3",Arial,sans-serif;cursor:pointer;text-decoration:none!important;white-space:nowrap}
.bk-page-share-button:hover,.bk-page-share-button:focus-visible{background:#f5e7d7;border-color:#c7a77d;color:#5b0f13!important;outline:0}
.bk-page-share-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.bk-share-popover{position:fixed;z-index:10050;width:210px;padding:7px;background:#fffdf9;border:1px solid #ddcbb6;border-radius:11px;box-shadow:0 16px 38px rgba(47,30,21,.22);font:600 14px/1.2 "Source Sans 3",Arial,sans-serif}
.bk-share-popover[hidden]{display:none!important}
.bk-share-option{display:flex;width:100%;align-items:center;gap:10px;min-height:42px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:#4b3730!important;text-align:left;cursor:pointer;font:600 14px/1.2 "Source Sans 3",Arial,sans-serif}
.bk-share-option:hover,.bk-share-option:focus-visible{background:#f3e5d6;color:#6f171b!important;outline:0}
.bk-share-option svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.bk-share-toast{position:fixed;z-index:10060;left:50%;bottom:24px;transform:translate(-50%,10px);padding:9px 14px;border-radius:999px;background:#4d080c;color:#fff;font:700 13px/1.2 "Source Sans 3",Arial,sans-serif;box-shadow:0 9px 24px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.bk-share-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media (max-width:700px){.bk-page-share-inner{min-height:40px;padding-top:5px;padding-bottom:5px}.bk-page-share-button{min-height:34px;padding:7px 11px}.bk-share-popover{width:min(220px,calc(100vw - 24px))}.bk-share-toast{bottom:18px}}


/* v0.5.63 — prominent universal sharing + topic-bottom placement */
.bk-page-share-button{min-height:38px!important;padding:9px 15px!important;border:1px solid #941017!important;border-radius:8px!important;background:#a9121a!important;color:#fff!important;box-shadow:0 4px 12px rgba(111,16,22,.18)!important;font-size:13px!important;letter-spacing:.01em}
.bk-page-share-button:hover,.bk-page-share-button:focus-visible{background:#7f0d13!important;border-color:#7f0d13!important;color:#fff!important;box-shadow:0 5px 15px rgba(83,11,16,.24)!important;outline:0}
.bk-page-share-button svg{color:#fff!important;stroke:currentColor!important}
.bk-topic-share-footer{clear:both;display:flex;justify-content:flex-end;align-items:center;margin:18px 0 0;padding:14px 0 4px;border-top:1px solid #ead8c5}
.bk-topic-share-footer .bk-page-share-button{min-height:40px!important;padding:10px 17px!important;font-size:13px!important}
@media(max-width:700px){.bk-topic-share-footer{margin-top:14px;padding-top:12px}.bk-topic-share-footer .bk-page-share-button{width:100%;justify-content:center;min-height:42px!important}}

/* v0.5.64 — Interests stays accessible inside phpBB at every responsive width. */
@media (min-width:901px){
  .bk-site-header,.bk-primary-nav,.bk-primary-links{overflow:visible!important}
  .bk-primary-nav{position:relative;z-index:700}
  .bk-nav-dropdown{position:relative;z-index:900}
  .bk-nav-dropdown-menu{z-index:10020!important;pointer-events:none!important}
  .bk-nav-dropdown.is-open>.bk-nav-dropdown-menu,
  .bk-nav-dropdown:hover>.bk-nav-dropdown-menu,
  .bk-nav-dropdown:focus-within>.bk-nav-dropdown-menu{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;pointer-events:auto!important}
  .bk-primary-links .bk-nav-dropdown-menu a{position:relative;z-index:1;pointer-events:auto!important;cursor:pointer}
}
@media (max-width:900px){
  .bk-primary-links .bk-nav-dropdown{display:flex!important;flex:0 0 auto;align-items:stretch;position:relative;z-index:900}
  .bk-primary-links .bk-nav-dropdown-toggle{display:flex;align-items:center;gap:6px;min-height:40px;padding:0;border:0;background:transparent;color:#574741;font:600 var(--bk-text-sm)/1 var(--bk-sans);white-space:nowrap;cursor:pointer}
  .bk-primary-links .bk-nav-dropdown-caret{font-size:11px;line-height:1;transition:transform .18s ease}
  .bk-primary-links .bk-nav-dropdown.is-open .bk-nav-dropdown-caret{transform:rotate(180deg)}
  .bk-primary-links .bk-nav-dropdown-menu{position:fixed;z-index:10020;min-width:176px;padding:7px;background:#fffdf9;border:1px solid #dfcfbd;border-radius:10px;box-shadow:0 14px 28px rgba(55,35,25,.18);opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
  .bk-primary-links .bk-nav-dropdown.is-open>.bk-nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  .bk-primary-links .bk-nav-dropdown-menu a{display:flex!important;align-items:center!important;min-height:40px!important;padding:8px 11px!important;border-radius:7px;color:#574741!important;font-size:14px!important;line-height:1.2!important;pointer-events:auto!important}
  .bk-primary-links .bk-nav-dropdown-menu a:hover,.bk-primary-links .bk-nav-dropdown-menu a:focus-visible{background:#f5e8da;color:var(--bk-maroon)!important;outline:0}
}

/* BeKhmer v0.5.65 — restore v0.5.64 baseline and harden Interests dropdown. */
@media (min-width:901px){
  #page-header{position:relative!important;z-index:1000!important;overflow:visible!important}
  .bk-primary-nav,.bk-primary-links{overflow:visible!important}
  .bk-primary-links>a,.bk-primary-links .bk-nav-dropdown-toggle{box-sizing:border-box;padding-top:4px!important}
  .bk-primary-links .bk-nav-dropdown{position:relative!important;display:flex!important;align-items:stretch!important;flex:0 0 auto!important;z-index:1100!important;overflow:visible!important}
  .bk-primary-links .bk-nav-dropdown::after{content:"";position:absolute;z-index:1;left:-10px;right:-10px;top:100%;height:14px;background:transparent;pointer-events:auto}
  .bk-primary-links .bk-nav-dropdown-menu{position:absolute!important;z-index:1200!important;top:100%!important;right:0!important;left:auto!important;margin-top:0!important;transform:none!important;transition:opacity .12s ease,visibility .12s ease!important}
  .bk-primary-links .bk-nav-dropdown.is-open>.bk-nav-dropdown-menu,
  .bk-primary-links .bk-nav-dropdown:hover>.bk-nav-dropdown-menu,
  .bk-primary-links .bk-nav-dropdown:focus-within>.bk-nav-dropdown-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
  .bk-primary-links .bk-nav-dropdown-menu a{position:relative;z-index:2;pointer-events:auto!important}
}

/* BeKhmer v0.5.66 — forum-only Interests stacking repair.
   The phpBB hero follows the top navigation in the same #page-header stacking context.
   Keep the complete top header scene above the hero so the Interests submenu can render over it. */
@media (min-width:901px){
  #page-header .bk-top-header-scene{
    position:relative!important;
    z-index:5000!important;
    overflow:visible!important;
  }
  #page-header .bk-top-header-scene > .bk-primary-nav{
    position:relative!important;
    z-index:5100!important;
    overflow:visible!important;
  }
  #page-header .bk-top-header-scene .bk-primary-links,
  #page-header .bk-top-header-scene .bk-nav-dropdown{
    overflow:visible!important;
  }
  #page-header .bk-top-header-scene .bk-nav-dropdown{
    z-index:5200!important;
  }
  #page-header .bk-top-header-scene .bk-nav-dropdown-menu{
    z-index:5300!important;
  }
  #page-header .bk-forum-hero,
  #page-header .bk-utility,
  #page-header .bk-breadcrumb-row{
    position:relative;
    z-index:1;
  }
}

/* ==========================================================================
   BeKhmer mobile portrait hero — shared homepage/forum image.
   Portrait phones only. Desktop, tablet, and landscape remain unchanged.
   ========================================================================== */
@media (max-width:620px) and (orientation:portrait){
  .bk-forum-hero{
    background-image:url("/assets/images/bekhmer/bekhmer-hero-mobile-portrait-v0571.webp")!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
}
