:root {
	color-scheme:dark;
	--bm-bg:#101519;
	--bm-paper:#161c21;
	--bm-panel:#1d252b;
	--bm-field:#11191e;
	--bm-text:#e1e3e1;
	--bm-muted:#a5b0b6;
	--bm-line:#344047;
	--bm-accent:#b9ccd5;
	--bm-link:#c9d9e1;
	--bm-glow:#a5c0ce26;
	--bm-online:#a8c7d8;
	--bm-shadow:#00000038;
	--bm-on-accent:#191d22;
	--bm-nav:#161c21f2;
}

html[data-bm-theme="light"] {
	color-scheme:light;
	--bm-bg:#e2e4e3;
	--bm-paper:#f7f7f3;
	--bm-panel:#ecedeb;
	--bm-field:#ffffff;
	--bm-text:#283137;
	--bm-muted:#59656c;
	--bm-line:#cbd0d0;
	--bm-accent:#506b7b;
	--bm-link:#405f71;
	--bm-glow:#506b7b12;
	--bm-online:#496c80;
	--bm-shadow:#25303915;
	--bm-on-accent:#ffffff;
	--bm-nav:#f7f7f3f5;
}

:root {
	--bm-width:1180px;
	--bm-author:248px;
	--bm-side:184px;
	--bm-nav-height:94px;
	--bm-reading:16px;
	--bm-font:"Golos Text", Arial, sans-serif;
	--bm-display:"Yanone Kaffeesatz", "Arial Narrow", sans-serif;
	--bm-serif:"Cormorant Garamond", Georgia, serif;
}

html {
	scroll-behavior:smooth;
	scroll-padding-top:calc(var(--bm-nav-height) + 20px);
}

body {
	margin:0;
	background:var(--bm-bg);
	color:var(--bm-text);
	font:13px/1.6 var(--bm-font);
}

#pun,
#pun *,
#pun *::before,
#pun *::after {
	box-sizing:border-box;
}

#pun {
	width:min(var(--bm-width), 100%);
	margin:0 auto;
	background:var(--bm-paper);
	box-shadow:0 0 70px var(--bm-shadow);
	overflow:visible;
}

#pun .punbb {
	position:relative;
	min-width:0;
}

#pun a {
	color:var(--bm-link);
	text-decoration:none;
	transition:
	  color 0.2s,
	  background-color 0.2s;
}

#pun a:hover {
	color:var(--bm-text);
}

#pun :is(h1, h2, h3, h4, p, ul, ol, dl, blockquote) {
	margin:0;
	padding:0;
}

#pun :is(h1, h2, h3) {
	font-weight:400;
}

#pun h1 {
	font:300 clamp(24px, 3vw, 37px)/1.35 var(--bm-display);
	letter-spacing:0.035em;
	margin-bottom:26px;
}

#pun h2 {
	font:400 20px/1.4 var(--bm-display);
}

#pun h3 {
	font:400 18px/1.4 var(--bm-display);
}

#pun :is(img, video) {
	max-width:100%;
	height:auto;
}

#pun [hidden],
#pun .hidden {
	display:none !important;
}

#pun .acchide {
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
	clip-path:inset(50%);
	white-space:nowrap;
}

#pun
	:is(
	  #pun-title,
	  #pun-desc,
	  #pun-break1,
	  #pun-break2,
	  #pun-break3,
	  #pun-break4,
	  #pun-pagelinks
	) {
	display:none;
}

#pun .clearer {
	clear:both;
	height:0;
	overflow:hidden;
}

/* Выделение фокуса внутри элемента */
#pun :focus-visible {
    outline: 2px solid var(--bm-accent);
    outline-offset: -2px;
}


/* Поля ввода: тонкая внутренняя рамка */
#pun input:not([type="checkbox"]):not([type="radio"]):focus,
#pun textarea:focus,
#pun select:focus,
#pun [contenteditable="true"]:focus {
    outline: none !important;
    outline-offset: 0 !important;
    border-color: var(--bm-accent) !important;
    box-shadow: inset 0 0 0 1px var(--bm-accent) !important;
}

#pun .bm-icon {
	width:18px;
	height:18px;
	flex:0 0 18px;
	vertical-align:middle;
	fill:none;
	stroke:currentColor;
	stroke-width:1.6;
	stroke-linecap:round;
	stroke-linejoin:round;
	pointer-events:none;
}

#pun #html-header {
	margin:0;
	padding:0;
}

#bm-hero {
	position:relative;
	height:310px;
	overflow:hidden;
	isolation:isolate;
	color:#e3e5e6;
	background:#12191f;
}

.bm-landscape {
	position:absolute;
	inset:0;
	background:var(--bm-forest) center bottom / cover no-repeat;
	z-index:-3;
}

#bm-hero::before {
	content:"";
	position:absolute;
	inset:0;
	z-index:-2;
background: linear-gradient(
  to top,
  var(--bm-paper) 0%,
  transparent 25%
);
}

.bm-title {
	position:absolute;
	top:44px;
	left:6%;
	z-index:4;
}

#pun .bm-kicker {
	font-size:9px;
	letter-spacing:0.42em;
	margin-bottom:17px;
	color:#c9cbd3;
}

#pun .bm-wordmark {
	color:#e7e7e4;
	display:block;
	font:200 clamp(48px, 6.1vw, 78px)/1.15 var(--bm-display);
	letter-spacing:0.16em;
	text-shadow:0 3px 24px #0008;
}

#pun .bm-tagline {
	color:#c4cad0;
	font:italic 16px/1.5 var(--bm-serif);
}

.bm-hero-note {
	position:absolute;
	bottom:12px;
	left:6%;
	right:6%;
	display:flex;
	justify-content:space-between;
	font:9px/1.5 var(--bm-font);
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:#a9b0b5;
}

@keyframes bm-breathe {
	50% {
	  transform: scaleY(1.012) rotate(0.18deg);
	}
}

@keyframes bm-sway {
	50% {
	  transform: rotate(-0.45deg) scaleY(1.005);
	}
}

@keyframes bm-pulse {
	50% {
	  box-shadow: 0 0 0 6px transparent;
	  opacity: 0.65;
	}
}

@keyframes bm-sheen {
	50% {
	  background-position: 100% 50%;
	}
}

#pun .bm-dock {
	position:sticky;
	top:0;
	z-index:100;
	background:var(--bm-nav);
	border-block:1px solid var(--bm-line);
	backdrop-filter:blur(14px);
}

#pun .bm-dock-main {
	justify-content:center;
	padding:7px 20px;
	min-height:50px;
}

#pun #pun-navlinks {
	position:static;
	float:none;
	width:auto;
	margin:0;
	padding:0;
	background:none;
	border:0;
}

#pun :is(#pun-navlinks, #pun-ulinks) h2 {
	display:none;
}

#pun :is(#pun-navlinks, #pun-ulinks) ul {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:5px 23px;
	list-style:none;
	margin:0;
	padding:0;
}

#pun :is(#pun-navlinks, #pun-ulinks) li {
	margin:0;
	padding:0;
	list-style:none;
}

#pun #pun-navlinks a {
	display:inline-flex;
	align-items:center;
	gap:7px;
	padding:6px 0;
	color:var(--bm-muted);
	font-size:10px;
	letter-spacing:0.12em;
	text-transform:uppercase;
	white-space:nowrap;
}

#pun #pun-navlinks :is(.isactive a, a:hover) {
	color:var(--bm-text);
}

#pun #pun-navlinks .bm-icon {
	width:15px;
	height:15px;
	flex-basis:15px;
}

#pun #pun-ulinks {
	margin:0;
	padding:6px 20px;
	border-top:1px solid var(--bm-line);
	font-size:10px;
	min-height:33px;
}

#pun .bm-controls {
	display:flex;
	gap:5px;
	flex:0 0 auto;
}

#pun button.bm-control {
	display:grid;
	place-items:center;
	padding:5px;
	width:30px;
	height:30px;
	border:1px solid var(--bm-line);
	border-radius:50%;
	background:none;
	color:var(--bm-text);
}

#pun .bm-unread {
	width:5px;
	height:5px;
	display:inline-block;
	border-radius:50%;
	background:var(--bm-accent);
	box-shadow:0 0 0 2px var(--bm-glow);
	margin-left:3px;
}

#pun #pun-status {
	display:flex;
	justify-content:center;
	padding:8px 18px;
	font-size:10px;
	background:var(--bm-paper);
	color:var(--bm-muted);
}

#pun #pun-status h2 {
	display:none;
}

#pun #pun-status .container {
	display:flex;
	flex-wrap:wrap;
	gap:5px 18px;
	list-style:none;
}

#pun :is(#pun-crumbs1, #pun-crumbs2) {
	padding:8px 38px;
	font-size:10px;
	color:var(--bm-muted);
}

#pun :is(#pun-crumbs1, #pun-crumbs2) h2 {
	display:none;
}

#pun #pun-crumbs2 {
	padding-block:5px;
}

#pun #pun-main {
	padding:10px 38px 12px;
	min-width:0;
}

#pun #pun-index #pun-main > h1 {
	display:none;
}

#pun #pun-announcement {
	margin:15px 38px;
	padding:16px 20px;
	background:var(--bm-panel);
	border:1px solid var(--bm-line);
}

#pun table {
	width:100%;
	border-collapse:collapse;
}

#pun :is(th, td) {
	padding:13px 14px;
	text-align:left;
	border-bottom:1px solid var(--bm-line);
	vertical-align:middle;
}

#pun th {
	font-weight:400;
	color:var(--bm-muted);
	text-transform:uppercase;
	font-size:10px;
	letter-spacing:0.08em;
}

#pun .category {
	position:relative;
	margin:20px 0 40px;
	padding-left:54px;
}

#pun .category > h2 {
	display:flex;
	align-items:center;
	padding:0 0 17px;
	text-transform:uppercase;
	color:var(--bm-text);
}

#pun .category > h2 > span {
	flex:1;
	min-width:0;
}

#pun .category :is(.catleft, .catright) {
	display:none;
}

#pun .bm-category-caption {
	font-size:9px;
	color:var(--bm-muted);
	text-transform:uppercase;
	margin-left:auto;
}

#pun button.bm-fold {
	width:28px;
	height:28px;
	display:grid;
	place-items:center;
	padding:4px;
	flex:0 0 28px;
	color:var(--bm-text);
}

.bm-fold .bm-icon {
	transition:transform 0.2s;
}

.bm-fold[aria-expanded="false"] .bm-icon {
	transform:rotate(-90deg);
}

#pun .category table,
#pun .category tbody {
	display:block;
}

#pun .category thead {
	display:none;
}

#pun .category tr {
	position:relative;
	display:grid;
	align-items:center;
border-block: 0;
}

#pun .category td {
	min-width:0;
	border:0;
}

#pun .category :is(.intd, .tclcon) {
	position:relative;
	min-width:0;
	margin:0;
	padding:0;
}

#pun .category .icon {
	display:none;
}

#pun .category h3 {
	text-transform:uppercase;
}

#pun .category h3 a {
	color:var(--bm-text);
}

#pun .category .tclcon {
	font-size:11px;
	color:var(--bm-muted);
}

#pun .category .bm-number {
	position:absolute;
	top:50%;
	font:300 76px/1 var(--bm-display);
	pointer-events:none;
}

#pun .category :is(.tc2, .tc3) {
	text-align:center;
	font:22px/1.3 var(--bm-serif);
}

#pun .category :is(.tc2, .tc3)::after {
	display:block;
	margin-top:6px;
	font:8px/1.5 var(--bm-font);
	letter-spacing:0.13em;
	color:var(--bm-muted);
	text-transform:uppercase;
}

#pun .category .tc2::after {
	content:"тем";
}

#pun .category .tc3::after {
	content:"сообщений";
}

#pun .category .tcr {
	border-left:1px solid var(--bm-line);
	font-size:10px;
}

#pun .category .tcr > a,
#pun .bm-lasttext > a {
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	color:var(--bm-text);
	letter-spacing:0.03em;
}

#pun .bm-lastpost {
	display:flex;
	align-items:center;
	gap:13px;
}

#pun .bm-lasttext {
	min-width:0;
	overflow-wrap:anywhere;
}

#pun :is(.lastpost, .byuser) {
	font-size:10px;
	color:var(--bm-muted);
}

#pun .byuser {
	display:inline-block;
}

#pun .user-avatar {
	display:inline-block;
	position:relative;
	flex:0 0 42px;
	width:42px;
	height:46px;
	float:none;
	margin:0;
	font-style:normal;
}

#pun :is(.user-avatar img, .avatar-image) {
	display:block;
	width:42px;
	height:46px;
	object-fit:cover;
	background-position:center;
	background-size:cover;
	border-radius:3px;
}

#pun .user-avatar .isonline {
	position:absolute;
	right:-2px;
	bottom:-2px;
	top:auto;
	left:auto;
	width:8px;
	height:8px;
	border:2px solid var(--bm-paper);
	border-radius:50%;
}

#pun :is(.podfl, .rv-forum-links) {
	display:flex;
	flex-wrap:wrap;
	gap:5px;
	margin-top:10px;
}

#pun :is(.podfl, .rv-forum-links) a {
	font-size:9px;
	border:1px solid var(--bm-line);
	padding:2px 8px;
}

#pun .bm-new {
	display:inline-flex;
	color:var(--bm-accent);
	margin-right:8px;
	border-radius:50%;
	animation:bm-pulse 3s ease-in-out infinite;
	box-shadow:0 0 0 0 var(--bm-glow);
}

#pun .forum .tcl {
	width:55%;
}

#pun .forum :is(.tc2, .tc3) {
	width:9%;
	text-align:center;
}

#pun .forum .tcr {
	width:27%;
}

#pun .forum .tclcon > a {
	font:500 18px/1.4 var(--bm-serif);
	color:var(--bm-text);
}

#pun .forum .tcl .icon {
	display:none;
}

#pun :is(.linkst, .linksb) {
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	margin:18px 0;
}

#pun .pagelink {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:10px;
	font-size:10px;
	color:var(--bm-muted);
}

#pun .pagelink :is(a, strong) {
	font:22px/1.3 var(--bm-serif);
	min-width:18px;
	text-align:center;
	padding:2px;
}

#pun .pagelink strong {
	color:var(--bm-accent);
	border-bottom:1px solid;
}

#pun .postlink a {
	display:inline-flex;
	align-items:center;
	gap:12px;
	padding:8px 0;
	border-bottom:1px solid var(--bm-accent);
	text-transform:uppercase;
	font-size:11px;
	letter-spacing:0.15em;
}

#pun .modmenu {
	padding:12px 0;
	font-size:10px;
}

#pun .modmenu .container {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

#pun .searchresults .post-author {
	text-align:left;
}

#pun .searchresults .post > .container {
	display:block;
}

#pun .searchresults .post-body {
	margin:0;
}

#pun .post {
	margin:0 0 24px;
	border:1px solid var(--bm-line);
	background:var(--bm-paper);
}

#pun .post > h3 {
	display:flex;
	justify-content:space-between;
	gap:12px;
	margin:0;
	padding:11px 18px;
	font:10px/1.5 var(--bm-font);
	color:var(--bm-muted);
	border-bottom:1px solid var(--bm-line);
}

#pun .post > h3 > span {
	display:flex;
	align-items:center;
	gap:12px;
	width:100%;
}

#pun .post > h3 .post-num {
	float:none;
	order:2;
	margin-left:auto;
}

#pun .post > .container {
	display:grid;
	grid-template-columns:var(--bm-author) minmax(0, 1fr);
	gap:16px 22px;
	padding:18px 20px 10px;
}

#pun .post-author {
	float:none;
	width:auto;
	min-width:0;
	margin:0;
	padding:0 18px 10px 0;
	border-right:1px solid var(--bm-line);
	text-align:center;
	align-self:start;
	font-size:11px;
}

#pun .post-author > ul {
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:5px 12px;
	list-style:none;
}

#pun .post-author > ul > li {
	flex:0 0 100%;
	list-style:none;
	margin:0;
	padding:0;
	overflow-wrap:anywhere;
}

#pun .post-author .pa-author {
	padding:12px 6px;
	font:400 23px/1.3 var(--bm-display);
	letter-spacing:0.04em;
	background:linear-gradient(110deg, transparent, var(--bm-glow), transparent);
	background-size:220% 100%;
	animation:bm-sheen 9s ease-in-out infinite;
}

#pun .post-author .pa-author > .fld-name {
	display:none;
}

#pun .post-author .pa-title {
	color:var(--bm-muted);
	font-size:10px;
	margin-bottom:10px;
}

#pun .post-author .pa-avatar {
	margin-bottom:13px;
}

#pun .pa-avatar img {
	display:block;
	max-width:180px;
	width:auto;
	max-height:240px;
	height:auto;
	margin:auto;
	object-fit:contain;
	border-radius:5px;
}

#pun .post-author .bm-metric {
	flex:0 0 auto;
	display:flex;
	align-items:center;
	gap:4px;
	padding:5px 0;
	font-size:11px;
}

#pun .bm-metric .bm-icon {
	width:15px;
	height:15px;
	flex-basis:15px;
	color:var(--bm-muted);
}

#pun .post-body {
	float:none;
	min-width:0;
	margin:0;
	padding:0;
}

#pun .post-box {
	margin:0;
	padding:0;
	min-width:0;
}

#pun .post-content {
	font-size:var(--bm-reading);
	line-height:1.85;
	overflow-wrap:anywhere;
}

#pun .post-content p {
	margin:0 0 1em;
}

#pun .post-content :is(ul, ol) {
	padding-left:24px;
}

#pun .post-content a {
	color:#83bdd4;
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:3px;
}

#pun .post-content img {
	height:auto;
}

#pun :is(.quote-box, .code-box) {
	position:relative;
	margin:18px 0;
	padding:18px;
	border:1px solid var(--bm-line);
	background:var(--bm-panel);
}

#pun .quote-box {
	border-left:2px solid var(--bm-accent);
}

#pun :is(.quote-box cite, .code-box strong) {
	display:block;
	font:11px/1.5 var(--bm-font);
	color:var(--bm-muted);
	margin-bottom:10px;
}

#pun .code-box {
	width:100%;
	max-width:100%;
	padding-top:45px;
}

#pun .code-box pre {
	max-height:240px;
	overflow:auto;
	white-space:pre;
	margin:0;
	font:
	  12px/1.6 Consolas,
	  monospace;
	tab-size:2;
}

#pun .bm-copy {
	position:absolute;
	right:8px;
	top:8px;
	font-size:10px;
	padding:4px 9px;
}

#pun .post-sig {
	margin-top:26px;
	padding-top:15px;
	border-top:1px solid var(--bm-line);
	font-size:11px;
	text-align:center;
}

#pun .post-sig hr {
	display:none;
}

#pun .post-links {
	grid-column:1 / -1;
	border-top:1px solid var(--bm-line);
}

#pun .post-links ul {
	list-style:none;
}

#pun .post-links li {
	list-style:none;
}

#pun .post-links a {
	font-size:10px;
}

#pun .post-links .bm-icon {
	width:14px;
	height:14px;
	flex-basis:14px;
}

#pun :is(.post-edit, .lastedit) {
	font-size:10px;
	color:var(--bm-muted);
	margin-top:15px;
}

#pun :is(.post-vote, .post-rating) {
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:8px;
	font-size:12px;
	margin:12px 0;
}

#pun :is(.positive, .negative) .bm-icon {
	width:15px;
	height:15px;
}

#pun .spoiler-box {
	margin:14px 0;
	border:1px solid var(--bm-line);
}

#pun .spoiler-box > div {
	cursor:pointer;
	padding:9px 13px;
	background:var(--bm-panel);
	font-size:12px;
}

#pun .spoiler-box > blockquote {
	display:none;
	padding:14px;
}

#pun .spoiler-box > blockquote.visible {
	display:block;
}

#pun .hideprofile :is(.post-author, .pl-email, .pl-website) {
	display:none !important;
}

#pun .hideprofile > .container {
	grid-template-columns:minmax(0, 1fr);
}

#pun .rv-text-indent {
	display:inline-block;
	width:2em;
}

#pun abbr[title="float:left"] {
	float:left;
	margin:0.5em 1em 0.5em 0;
}

#pun abbr[title="float:right"] {
	float:right;
	margin:0.5em 0 0.5em 1em;
}

#pun :is(input, textarea, select, button) {
	font:inherit;
	color:var(--bm-text);
}

#pun :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
	background:var(--bm-field);
	border:1px solid var(--bm-line);
	padding:9px 11px;
	border-radius:3px;
	max-width:100%;
}

#pun input[type="checkbox"],
#pun input[type="radio"] {
	accent-color:var(--bm-accent);
}

#pun
	:is(button, input[type="submit"], input[type="button"], input[type="reset"]) {
	border:1px solid var(--bm-line);
	background:var(--bm-panel);
	color:var(--bm-text);
	padding:8px 15px;
	border-radius:3px;
	cursor:pointer;
}

#pun :is(button, input[type="submit"], input[type="button"]):hover {
	background:var(--bm-accent);
	color:var(--bm-on-accent);
}

#pun button:disabled {
	cursor:not-allowed;
	opacity:0.5;
}

#pun fieldset {
	min-width:0;
	border:1px solid var(--bm-line);
	padding:20px;
	margin:0 0 22px;
	background:var(--bm-panel);
}

#pun legend {
	padding:0 8px;
	font-size:12px;
	color:var(--bm-muted);
}

#pun label {
	line-height:1.6;
}

#pun label > :is(input, textarea, select) {
	display:block;
	margin-top:8px;
}

#pun .checkfield label > input {
	display:inline;
	margin:0 8px 0 0;
}

#pun :is(.formal, .adformal) .fs-box > p {
	margin-bottom:18px;
}

#pun textarea {
	width:100%;
	min-height:120px;
	resize:vertical;
}

#pun #main-reply {
	min-height:250px;
	line-height:1.7;
	font-size:15px;
}

#pun #post-form h2 {
	margin:24px 0 15px;
}

#pun :is(.formsubmit, .submitend, .submittop) {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin:15px 0;
}

#pun #form-buttons {
	background:var(--bm-panel);
	border:1px solid var(--bm-line);
	border-bottom:0;
	padding:7px;
}

#pun #form-buttons :is(table, tbody) {
	display:block;
}

#pun #form-buttons tr {
	display:flex;
	flex-wrap:wrap;
	gap:4px;
}

#pun #form-buttons td {
	border:0;
	padding:0;
}

#pun #form-buttons [id^="button-"] {
	position:relative;
	display:block;
	width:30px;
	height:30px;
	flex:0 0 30px;
	padding:0;
	background:var(--bm-field);
	border-radius:3px;
	cursor:pointer;
}

#pun #form-buttons .bm-editor-icon {
	position:absolute;
	inset:6px;
	z-index:1;
	pointer-events:none;
}

#pun #form-buttons [data-bm-icon] > img {
	position:relative;
	width:30px;
	height:30px;
	display:block;
	opacity:0;
	z-index:2;
	cursor:pointer;
}

#pun #form-buttons [data-bm-icon]::before {
	content:none;
}

#pun #form-buttons [data-bm-icon] > button {
	position:relative;
	width:30px;
	height:30px;
	background:transparent;
	border:0;
	padding:0;
	z-index:2;
}

#pun #form-buttons [id^="button-"]:hover {
	background:var(--bm-glow);
}

#pun #tags {
	position:relative;
	z-index:20;
}

#pun #tags > .container {
	position:absolute;
	top:4px;
	left:0;
	right:auto;
	z-index:60;
	background:var(--bm-panel);
	border:1px solid var(--bm-line);
	padding:12px;
	max-width:min(560px, 100%);
	max-height:300px;
	overflow:auto;
	box-shadow:0 8px 24px var(--bm-shadow);
}

#pun #tags :is(#color-area,#table-area) table {
	display:table;
	border-collapse:collapse;
	width:auto;
	table-layout:fixed;
}

#pun #tags :is(#color-area,#table-area) tbody {
	display:table-row-group;
}

#pun #tags :is(#color-area,#table-area) tr {
	display:table-row;
}

#pun #tags :is(#color-area,#table-area) td {
	display:table-cell;
	width:20px;
	height:20px;
	min-width:20px;
	padding:0;
	margin:0;
	line-height:0;
}

#pun #tags :is(#color-area,#table-area) td img {
	display:block;
	width:20px;
	height:20px;
	max-width:none;
	cursor:pointer;
}

#pun #table-area td {
	border:1px solid var(--bm-line) !important;
	background:var(--bm-field);
}

#pun #table-area td.selected {
	background:var(--bm-accent);
}

#pun #form-buttons [data-bm-icon] {
	background-image:none !important;
}

#pun #form-buttons .bm-editor-icon {
	width:18px;
	height:18px;
}

#pun #form-buttons [data-bm-icon] > :is(a,span) {
	position:relative;
	display:block;
	width:30px;
	height:30px;
	z-index:2;
}

#pun #form-buttons [data-bm-icon] > :is(a,span) > img {
	width:30px;
	height:30px;
	opacity:0;
}

#pun #form-buttons :is(#button-graffiti,#button-smile,#button-smilies),
#pun #tags #smilies-area {
	display:none !important;
}

#pun .bm-picker {
	position:absolute;
	z-index:70;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:4px;
	width:min(330px,calc(100% - 32px));
	max-height:260px;
	overflow:auto;
	padding:8px;
	border:1px solid var(--bm-line);
	background:var(--bm-panel);
	box-shadow:0 8px 24px var(--bm-shadow);
}

#pun .bm-picker button {
	text-align:left;
	padding:7px 10px;
}

#pun #post-form .fs-box {
	position:relative;
}

#pun #post-form legend {
	float:left;
	width:100%;
	padding:0;
	margin:0 0 12px;
}

#pun #post-form legend + * {
	clear:both;
}

#pun #post-form fieldset {
	padding:14px 16px;
	margin-bottom:12px;
}

#pun .bm-reply-tools {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:10px;
	margin:8px 0;
	font-size:10px;
	color:var(--bm-muted);
}

#pun .bm-reply-tools button {
	font-size:10px;
	padding:4px 8px;
}

#pun .bm-reading {
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:9px;
	margin:0;
	font-size:10px;
}

#pun .bm-reading input {
	padding:0;
	width:100px;
	accent-color:var(--bm-accent);
}

#pun #profilenav {
	width:var(--bm-side);
	float:left;
	margin:0 24px 18px 0;
	padding:0;
}

#pun #profilenav :is(ul, li) {
	list-style:none;
	margin:0;
	padding:0;
}

#pun #profilenav h2 {
	font-size:15px;
	margin-bottom:10px;
}

#pun #profilenav a {
	display:block;
	padding:7px 10px;
	margin-bottom:5px;
	border:1px solid var(--bm-line);
	background:var(--bm-panel);
	font-size:11px;
}

#pun #profilenav :is(.isactive a, a:hover) {
	color:var(--bm-on-accent);
	background:var(--bm-accent);
}

#pun :is(#profile, #messages) {
	display:flow-root;
	min-width:0;
}

#pun #pun-main:has(#profilenav) {
	display:flow-root;
}

#pun #viewprofile {
	width:100%;
	padding:0;
}

#pun #viewprofile table {
	align-items:start;
	display:grid;
	grid-template-columns:215px minmax(0, 1fr);
	gap:24px;
}

#pun #viewprofile :is(tbody, tr) {
	display:contents;
}

#pun #viewprofile :is(#profile-left, #profile-right) {
	display:block;
	width:auto;
	min-width:0;
	padding:22px;
	background:var(--bm-panel);
	border:1px solid var(--bm-line);
}

#pun #profile-left {
	text-align:center;
}

#pun #profile-left img {
	max-width:100%;
	border-radius:4px;
	margin-bottom:14px;
}

#pun #viewprofile #profile-right {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:10px;
	list-style:none;
}

#pun #profile-right li {
	display:flex;
	flex-direction:column;
	gap:5px;
	min-width:0;
	padding:13px;
	background:var(--bm-paper);
	border:1px solid var(--bm-line);
	overflow-wrap:anywhere;
}

#pun #profile-right li > :is(span, strong) {
	float:none;
	width:auto;
}

#pun #profile-right li > span:first-child {
	font-size:10px;
	color:var(--bm-muted);
}

#pun #profile-right li > strong {
	font-size:12px;
	font-weight:400;
}

#pun #profile-right h2 {
	margin-bottom:18px;
}

#pun #pun-messages table {
	table-layout:fixed;
}

#pun #pun-messages .tcl {
	width:49%;
}

#pun #pun-messages :is(td, th) {
	overflow-wrap:anywhere;
}

#pun #pun-messages .bm-pm-person {
	display:flex;
	align-items:center;
	gap:10px;
}

#pun #pun-messages .bm-pm-person .user-avatar {
	margin:0;
}

html[data-bm-admin] #bm-hero {
	height:185px;
}

html[data-bm-admin] .bm-night-cast,
html[data-bm-admin] .bm-hero-note {
	display:none;
}

html[data-bm-admin] .bm-title {
	top:25px;
}

html[data-bm-admin] #pun .bm-wordmark {
	font-size:30px;
	line-height:1.2;
}

html[data-bm-admin] #pun .bm-kicker {
	margin-bottom:7px;
	font-size:8px;
}

html[data-bm-admin] #pun .bm-tagline {
	margin-top:7px;
	font-size:12px;
}

#pun #pun-stats {
	border-top:1px solid var(--bm-line);
}

#pun #pun-stats h2 {
	font-size:10px;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--bm-muted);
}

#pun #pun-stats .statscon > ul {
	grid-template-columns:repeat(4, minmax(0, 1fr));
	list-style:none;
}

#pun #pun-stats .statscon > ul > li {
	list-style:none;
	padding:12px 15px;
	border:1px solid var(--bm-line);
	background:var(--bm-panel);
	font-size:9px;
	text-transform:uppercase;
	letter-spacing:0.05em;
}

#pun #onlinelist {
	margin-top:18px;
	padding:0;
	color:var(--bm-muted);
	font-size:11px;
}

#pun #pun-qjump {
	padding:10px 38px;
	font-size:10px;
}

#pun #pun-about {
	padding:8px 38px;
	font-size:10px;
	color:var(--bm-muted);
}

#pun #pun-about h2 {
	display:none;
}

#pun #html-footer {
	padding:0;
	clear:both;
}

#pun .bm-footer {
	padding:8px 38px;
	font-size:9px;
	letter-spacing:0.2em;
	color:var(--bm-muted);
	display:flex;
	justify-content:space-between;
}

.bm-scroll {
	position:fixed;
	top:50%;
	bottom:auto;
	transform:translateY(-50%);
	right:max(6px, calc((100vw - var(--bm-width)) / 2 + 6px));
	z-index:110;
	display:flex;
	flex-direction:column;
	gap:7px;
}

#pun .bm-scroll button {
	width:33px;
	height:33px;
	display:grid;
	place-items:center;
	padding:5px;
	border-radius:50%;
	box-shadow:0 3px 15px var(--bm-shadow);
}

html[data-bm-motion="off"] #pun :is(.bm-character, .bm-new, .pa-author) {
	animation-play-state:paused !important;
}

html[data-bm-motion="off"] {
	scroll-behavior:auto;
}

#pun .bm-logo {
	display:block;
	width:395px;
	height:auto;
	max-width:62vw;
}

#pun .bm-wordmark {
	width:fit-content;
	line-height:1;
}

#pun .bm-tagline {
	margin-top:22px;
}

html[data-bm-admin] #pun .bm-logo {
	width:155px;
}

html[data-bm-admin] #pun .bm-tagline {
	display:none;
}

#pun .category .tclcon::before {
	content:"";
	position:absolute;
	left:0;
	top:0;
	background:var(--bm-scene) 75% 60% / auto 230px;
	border:1px solid var(--bm-line);
	opacity:0.78;
}

#pun .category:nth-of-type(2) .tclcon::before {
	background-position:98% 57%;
}

#pun .category:nth-of-type(3) .tclcon::before {
	background-position:15% 75%;
}

#pun .category h3 {
	font-size:22px;
}

#pun .bm-number {
	font-family:var(--bm-serif);
}

@media (prefers-reduced-motion: reduce) {html {
	scroll-behavior:auto;
}}

@media (max-width: 900px) {:root {
	--bm-author:210px;
	--bm-side:165px;
}

#pun #pun-main {
	padding-inline:22px;
}

#bm-hero {
	height:265px;
}

#pun .bm-category-caption {
	display:none;
}

#pun .category tr {
	grid-template-columns:minmax(0, 1fr) 46px 56px minmax(155px, 25%);
}

#pun .category td {
	padding:16px 9px;
}

#pun #pun-navlinks ul {
	gap:4px 14px;
}

#pun .post > .container {
	gap:18px;
	padding:16px;
}}

@media (max-width: 620px) {#bm-hero {
	height:230px;
}

.bm-title {
	top:32px;
	left:7%;
}

#pun .bm-wordmark {
	font-size:42px;
	letter-spacing:0.11em;
}

#pun .bm-kicker {
	font-size:7px;
	letter-spacing:0.2em;
}

#pun .bm-tagline {
	font-size:13px;
	max-width:210px;
}

.bm-hero-note {
	font-size:6px;
	letter-spacing:0.08em;
}

#pun .bm-dock-main {
	gap:8px;
	padding:6px 10px;
}

#pun #pun-navlinks ul {
	gap:3px 12px;
}

#pun #pun-navlinks a {
	font-size:9px;
	letter-spacing:0;
}

#pun #pun-navlinks .bm-icon {
	display:none;
}

#pun #pun-ulinks {
	padding-inline:9px;
}

#pun #pun-ulinks ul {
	gap:4px 12px;
}

#pun #pun-status {
	font-size:9px;
}

#pun :is(#pun-main, #pun-stats) {
	padding:18px 14px;
}

#pun :is(#pun-crumbs1, #pun-crumbs2, #pun-about) {
	padding-inline:16px;
}

#pun .category,
	#pun .category.bm-category-even {
	padding:0 0 0 28px;
	margin:12px 0 30px;
}

#pun .category > h2 {
	font-size:17px;
	letter-spacing:0.05em;
}

#pun .category tr {
	grid-template-columns:minmax(0, 1fr) 40px 47px;
}

#pun .category td.tcl {
	padding-left:18px;
}

#pun .category h3 {
	font-size:19px;
	letter-spacing:0.04em;
}

#pun .category .tcr {
	grid-column:1 / -1;
	border-left:0;
	border-top:1px solid var(--bm-line);
	padding:10px 18px;
}

#pun .category .bm-number,
	#pun .category.bm-category-even .bm-number {
	left:-29px;
	right:auto;
	font-size:43px;
}

#pun .category :is(.tc2, .tc3) {
	font-size:18px;
	padding-inline:2px;
}

#pun .category :is(.tc2, .tc3)::after {
	font-size:6px;
	letter-spacing:0;
}

#pun .post > .container {
	grid-template-columns:minmax(0, 1fr);
	padding:14px;
}

#pun .post-author {
	padding:0 0 15px;
	border:0;
	border-bottom:1px solid var(--bm-line);
}

#pun .post-author > ul {
	padding:0;
	max-width:310px;
	margin:auto;
}

#pun .pa-avatar img {
	max-height:160px;
}

#pun .post-content {
	font-size:var(--bm-reading);
}

#pun #profilenav {
	float:none;
	width:100%;
	margin:0 0 20px;
}

#pun #profilenav ul {
	display:flex;
	flex-wrap:wrap;
	gap:5px;
}

#pun #profilenav a {
	margin:0;
}

#pun #viewprofile table {
	grid-template-columns:minmax(0, 1fr);
}

#pun #viewprofile #profile-right {
	grid-template-columns:minmax(0, 1fr);
}

#pun #pun-admain {
	grid-template-columns:minmax(0, 1fr);
	padding:20px 14px;
}

#pun #pun-adnav {
	grid-column:1;
	grid-row:auto;
	margin-bottom:20px;
}

#pun #adnav-standard > ul {
	display:flex;
	flex-wrap:wrap;
	gap:4px;
}

#pun #pun-admain > :is(.adformal, .adsection, .adinfo) {
	grid-column:1;
}

#pun #pun-adnav .adsubnav {
	display:none;
}

#pun #pun-stats .statscon > ul {
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

#pun .forum .tc3 {
	display:none;
}

#pun .forum .tcl {
	width:51%;
}

#pun :is(th, td) {
	padding:10px 7px;
}

.bm-scroll {
	right:7px;
	bottom:auto;
}}

@media (max-width: 900px) {#pun .category .tclcon {
	padding-left:0;
}

#pun .category .tclcon::before {
	display:none;
}}

@media (max-width: 620px) {#pun .bm-logo {
	width:255px;
	max-width:78vw;
}

#pun .category > h2 {
	font-size:20px;
}}

.bm-night-cast,
.bm-day-cast {
	position:absolute;
	pointer-events:none;
}

.bm-night-cast {
	inset:0;
}

#pun .bm-walk {
	position:absolute;
	width:29%;
	max-width:none;
	bottom:5%;
	left:calc(8% + var(--bm-step, 0) * 6.1%);
	opacity:0;
	filter:saturate(.55) brightness(.82) drop-shadow(0 5px 7px #0004);
}

#pun .bm-walk.is-visible {
	opacity:1;
}

.bm-day-cast {
	display:none;
	width:42%;
	right:13%;
	bottom:3%;
}

#pun .bm-day-cast > img {
	display:block;
	width:100%;
	height:auto;
}

.bm-magic {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	overflow:visible;
}

.bm-wand-light {
	transform-origin:92% 24%;
	animation:bm-wand 6s ease-in-out infinite;
	filter:drop-shadow(0 0 5px #e4c790);
}

.bm-spell {
	stroke-dasharray:700;
	stroke-dashoffset:700;
	animation:bm-spell 6s ease-in-out infinite;
}

.bm-spark {
	animation:bm-firefly 4s ease-in-out infinite;
	filter:drop-shadow(0 0 7px #fff2bf);
}

.bm-spark:nth-child(2) {
	animation-delay:-1.5s;
}

.bm-spark:nth-child(3) {
	animation-delay:-3s;
}

@keyframes bm-wand {
	50% {
	  transform:rotate(-5deg);
	}
}

@keyframes bm-spell {
	15% {
	  opacity:0;
	}
	25% {
	  opacity:1;
	}
	75% {
	  stroke-dashoffset:0;
	  opacity:.8;
	}
	100% {
	  stroke-dashoffset:0;
	  opacity:0;
	}
}

@keyframes bm-firefly {
	0%,100% {
	  opacity:.1;
	  transform:translateY(3px);
	}
	50% {
	  opacity:1;
	  transform:translateY(-7px);
	}
}

.bm-mist {
	position:absolute;
	bottom:0;
	left:-10%;
	width:120%;
	height:20%;
	pointer-events:none;
	background:radial-gradient(ellipse at 35% 90%,#a4b0bd22,transparent 65%);
	animation:bm-fog 18s ease-in-out infinite alternate;
}

@keyframes bm-fog {
	to {
	  transform:translateX(4%);
	  opacity:.5;
	}
}

html[data-bm-theme="light"] #bm-hero {
	background:#e9e7e1;
	color:#343b40;
}

html[data-bm-theme="light"] .bm-landscape {
	background-image:var(--bm-day);
}

html[data-bm-theme="light"] .bm-night-cast {
	display:none;
}

html[data-bm-theme="light"] .bm-day-cast {
	display:block;
}

html[data-bm-theme="light"] #pun :is(.bm-wordmark,.bm-tagline,.bm-kicker,.bm-hero-note) {
	color:#394047;
	text-shadow:none;
}

html[data-bm-motion="off"] #pun :is(.bm-walk,.bm-wand-light,.bm-spell,.bm-spark,.bm-mist) {
	animation-play-state:paused;
}

html[data-bm-admin] :is(.bm-night-cast,.bm-day-cast,.bm-mist) {
	display:none;
}

#pun .category::before {
	content:"";
	position:absolute;
	left:53px;
	width:1px;
	pointer-events:none;
}

#pun .category > h2::before {
	content:"";
	box-shadow:0 0 8px var(--bm-accent);
}

#pun .category > h2 > span {
	display:flex;
	align-items:center;
	gap:24px;
}

#pun .category > h2 > span::after {
	content:"";
	height:1px;
	flex:1;
	background:var(--bm-line);
}

#pun .category.bm-category-even::before {
	left:auto;
	right:53px;
}

.bm-music-panel {
	position:fixed;
	right:20px;
	bottom:20px;
	max-width:calc(100vw - 32px);
	z-index:500;
	box-sizing:border-box;
	background:var(--bm-panel,#20252a);
	color:var(--bm-text,#ddd);
	border:1px solid var(--bm-line,#555);
	box-shadow:0 12px 45px #0005;
	font:12px/1.6 Arial,sans-serif;
}

.bm-music-panel[hidden] {
	display:none;
}

.bm-music-panel p {
	margin:0 0 8px;
}

.bm-music-panel iframe {
	display:block;
	width:100%;
	height:200px;
	border:0;
	margin:10px 0;
}

.bm-music-panel a {
	color:inherit;
}

.bm-music-close {
	display:block;
	padding:6px 10px;
	background:transparent;
	color:inherit;
	border:1px solid currentColor;
	cursor:pointer;
}

@media(max-width:620px) {#pun .bm-walk {
	width:46%;
	bottom:7%;
	left:calc(3% + var(--bm-step, 0) * 5.3%);
}

.bm-day-cast {
	width:75%;
	right:6%;
	bottom:4%;
}

#pun .category::before {
	display:none;
}

#pun .category .bm-number {
	font-size:54px;
}

#pun .category > h2 > span {
	gap:8px;
}}

#pun .bm-dock button.bm-control {
	border-radius:50%;
	line-height:1;
}

#pun .bm-dock button.bm-control .bm-icon {
	margin:0;
}

#pun .bm-day-cast > .bm-seated-base {
	clip-path:polygon(0 0,75% 0,75% 41%,100% 41%,100% 100%,0 100%);
}

#pun .bm-day-cast > .bm-seated-arm {
	position:absolute;
	inset:0;
	clip-path:polygon(75% 0,100% 0,100% 41%,75% 41%);
	transform-origin:75% 41%;
}

html[data-bm-motion="off"] #pun .bm-seated-arm {
	animation-play-state:paused;
}

#pun .bm-day-cast {
	filter:saturate(.55);
}

#pun #bm-hero .bm-title {
	top:20px;
	left:5%;
}

#pun #bm-hero .bm-logo {
	height:auto;
}

#pun #bm-hero .bm-kicker {
	margin-bottom:10px;
	font-size:8px;
}

#pun #bm-hero .bm-walk {
	width:23%;
	bottom:13%;
}

#pun #bm-hero .bm-day-cast {
	width:25%;
	right:17%;
	bottom:13%;
}

#pun #bm-hero #pun-status {
	font-size:10px;
}

#pun #bm-hero #pun-status .container {
	text-align:left;
}

html[data-bm-theme="light"] .bm-spell {
	filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 9px #e4aa35);
}

#pun #pun-main {
	position:relative;
}

#pun .bm-body-ornament {
	align-items:center;
	justify-content:center;
	gap:16px;
	margin:4px 0 32px;
	color:var(--bm-accent);
	opacity:.65;
	pointer-events:none;
}

#pun .bm-body-ornament::before,
#pun .bm-body-ornament::after {
	content:"";
	height:1px;
	width:min(28%, 260px);
	background:linear-gradient(90deg, transparent, var(--bm-line));
}

#pun .bm-body-ornament::after {
	transform:rotate(180deg);
}

#pun .bm-body-ornament .bm-icon {
	width:15px;
	height:15px;
}

#pun .category::before {
	top:-25px;
	bottom:-45px;
	opacity:.75;
	background:linear-gradient(transparent, var(--bm-line) 12%, var(--bm-line) 88%, transparent);
}

#pun .category > h2::before {
	width:10px;
	height:16px;
	flex:0 0 10px;
	border-radius:0;
	clip-path:polygon(50% 0,60% 38%,100% 50%,60% 62%,50% 100%,40% 62%,0 50%,40% 38%);
	background:var(--bm-accent);
	filter:drop-shadow(0 0 3px var(--bm-accent));
}

#pun .category > h2 > span::after {
	min-width:40px;
	opacity:.8;
}

#pun button.bm-fold {
	border:0;
	background:transparent;
	opacity:.75;
}

#pun button.bm-fold:hover {
	opacity:1;
}

#pun .category .bm-number {
	font-family:var(--bm-display);
	font-weight:200;
	transform-origin:center;
}

#pun #pun-stats #onlinelist {
	grid-column:1 / -1;
}

#pun #pun-stats li#onlinelist {
	border:0;
	background:transparent;
	padding:12px 0;
}

@media (max-width: 650px) {#pun #viewprofile table {
	grid-template-columns:minmax(0,1fr);
	gap:14px;
}

#pun #viewprofile #profile-right {
	grid-template-columns:minmax(0,1fr);
}

#pun #viewprofile #profile-left {
	width:auto;
}

#pun .post-author {
	border-right:1px solid var(--bm-line);
}

#pun .category .bm-number {
	font-size:68px;
	left:-43px;
}

#pun .bm-body-ornament {
	margin-bottom:20px;
}}

#pun .category > h2 {
	font:300 30px/1.2 var(--bm-display);
}

#pun #bm-hero .bm-landscape {
	background-position:center bottom;
}

html[data-bm-theme="light"] #pun #bm-hero .bm-landscape {
	background-position:center bottom;
}

#pun .category.bm-category-even {
	padding-left:54px;
	padding-right:0;
}

#pun .category::before,
#pun .category.bm-category-even::before {
	left:59px;
	right:auto;
}

#pun .category.bm-category-even > .container {
	margin-left:-54px;
	margin-right:54px;
}

@media (max-width: 650px) {#pun .category.bm-category-even {
	padding-left:28px;
}

#pun .category.bm-category-even > .container {
	margin-left:0;
	margin-right:0;
}

#pun .category::before, #pun .category.bm-category-even::before {
	left:33px;
}}

#pun #bm-hero .bm-walk {
	left:calc(28% + var(--bm-step, 0) * 5.2%);
}

#pun #bm-hero .bm-logo {
	width:clamp(150px, 20vw, 230px);
}

#pun a[href$="/vip.php"], #pun a[href="vip.php"],
#pun :is(#profile-useragent,#profile-user-agent,.pa-ua,#pa-ua,.pa-useragent,
	#pa-useragent,.pa-user-agent,#pa-user-agent,.user-agent,.pa-browser,.pa-agent) {
	display:none !important;
}

#pun .user-avatar .isonline {
	background:var(--bm-online) !important;
}

#pun #bm-hero #pun-status {
	display:block;
	position:absolute;
	inset:auto auto 8px 16px;
	width:fit-content;
	max-width:calc(100% - 32px);
	min-height:0;
	padding:5px 9px;
	margin:0;
	border:0;
	text-align:left;
	background:#10151980;
	color:#f0f2f2;
	border-radius:3px;
	font:10px/1.6 var(--bm-font);
	letter-spacing:.025em;
	z-index:8;
}

#pun #bm-hero #pun-status .container {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	gap:3px 8px;
	padding:0;
	margin:0;
}

#pun #bm-hero #pun-status a {
	color:inherit;
}

#pun #bm-hero #pun-status h2 {
	display:none;
}

html[data-bm-theme="light"] #pun #bm-hero #pun-status {
	background:#f7f7f3bb;
	color:#283137;
}

html[data-bm-theme="light"] #pun #bm-hero .bm-title::before {
	content:"";
	position:absolute;
	inset:-15px -30px;
	z-index:-1;
	background:radial-gradient(ellipse, #f7f7f3e0 10%, #f7f7f350 55%, transparent 75%);
	pointer-events:none;
}

#pun #bm-hero .bm-title {
	isolation:isolate;
}

html[data-bm-theme="light"] #pun #bm-hero .bm-wordmark {
	color:#17252c;
}

html[data-bm-theme="light"] #pun #bm-hero .bm-logo g {
	stroke-width:2.5;
}

#pun .bm-dock-main {
	display:flex;
	align-items:center;
	gap:10px;
}

#pun .bm-dock-main #pun-navlinks {
	flex:1 1 auto;
	min-width:0;
}

#pun .bm-dock .bm-controls {
	position:static;
	display:flex;
	flex:0 0 auto;
	margin:0 8px 0 auto;
	gap:4px;
}

#pun .bm-dock button.bm-control {
	width:28px;
	height:28px;
	min-width:28px;
	min-height:28px;
	padding:5px;
}

#pun .bm-dock button.bm-control .bm-icon {
	width:14px;
	height:14px;
	flex-basis:14px;
}

.bm-music-panel {
	width:min(300px, calc(100vw - 24px));
	padding:16px;
}

.bm-music-panel label {
	display:flex;
	align-items:center;
	gap:12px;
	margin:12px 0;
}

.bm-music-panel input {
	min-width:0;
	width:150px;
	accent-color:var(--bm-accent);
}

#pun .category tr {
	column-gap:8px;
}

#pun .category td {
	padding:20px 10px;
}

#pun .category td.tcr {
	padding-left:20px;
}

#pun .category .bm-lastpost {
	gap:14px;
}

#pun .category .bm-lasttext {
	min-width:0;
	line-height:1.7;
}

#pun .category .lastpost {
	display:block;
	margin-top:5px;
}

#pun .category .lastpost .byuser {
	display:inline;
}

#pun .category :is(.tc2,.tc3)::after {
	letter-spacing:.06em;
}

#pun #pun-stats {
	padding:16px 24px 8px;
	text-align:center;
}

#pun #pun-stats h2 {
	margin-bottom:10px;
}

#pun #pun-stats .statscon > ul {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	gap:8px;
}

#pun #pun-stats .statscon > ul > li:not(#onlinelist) {
	flex:0 1 auto;
	padding:7px 12px;
	margin:0;
	border-radius:4px;
	font:9px/1.5 var(--bm-font);
	letter-spacing:.025em;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
}

#pun #pun-stats strong {
	font:500 13px/1.5 var(--bm-font);
}

#pun #pun-stats #onlinelist {
	flex:1 0 100%;
	width:100%;
	margin:0;
	padding:3px 0 0;
	font:10px/1.8 var(--bm-font);
	text-transform:none;
}

#pun #pun-stats #onlinelist strong {
	font-size:inherit;
}

#pun #pun-stats a {
	color:var(--bm-link) !important;
}

#pun #pun-main {
	padding-top:8px;
}

#pun #pun-main > h1 {
	margin:0 0 14px;
	padding:0 0 12px;
	border-bottom:1px solid var(--bm-line);
	font-size:clamp(24px,3vw,32px);
}

#pun :is(.linkst,.linksb) {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:10px 20px;
	margin:12px 0;
}

#pun .postlink {
	display:flex;
	flex-wrap:wrap;
	gap:12px 22px;
	align-items:center;
}

#pun :is(.forum,.topic,.searchresults) > h2 {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:8px 24px;
	margin:8px 0 12px;
	font:11px/1.6 var(--bm-font);
}

#pun :is(.forum,.topic,.searchresults) > h2 > span {
	display:flex;
	flex-wrap:wrap;
	gap:6px 14px;
	align-items:baseline;
}

#pun :is(.forum,.topic,.searchresults) > h2 .item2 {
	margin-left:auto;
	white-space:nowrap;
	color:var(--bm-muted);
}

#pun .forum .tclcon > .byuser {
	display:block;
	margin-top:5px;
	font-size:10px;
	color:var(--bm-muted);
}

#pun .post-links {
	width:100%;
	margin:0 !important;
	padding:8px 0 0;
	min-height:0;
}

#pun .post-links ul {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 20px;
	width:100%;
}

#pun .post-links li {
	float:none;
	margin:0;
	padding:0;
}

#pun .post-links .bm-contact-link {
	order:0;
}

#pun .post-links .bm-action-link {
	order:1;
}

#pun .post-links .bm-first-action {
	margin-left:auto;
}

#pun .post-links a {
	display:inline-flex;
	align-items:center;
	gap:5px;
}

#pun :is(button,input[type="submit"],input[type="button"],.postlink a) {
	background-image:linear-gradient(110deg, transparent 30%, #ffffff18 48%, transparent 66%);
	background-size:300% 100%;
	background-position:100% 0;
	transition:background-position .65s ease, background-color .2s, color .2s;
}

#pun :is(button,input[type="submit"],input[type="button"],.postlink a):hover {
	background-position:0 0;
}

html[data-bm-motion="off"] #pun :is(button,input,.postlink a) {
	transition:none;
}

#pun .bm-night-cast::after {
	content:"";
	position:absolute;
	left:calc(28% + var(--bm-step,0) * 5.2%);
	bottom:15%;
	width:21%;
	height:18%;
	opacity:0;
	pointer-events:none;
	background:radial-gradient(circle at 18% 60%,#e0e9ee 0 1px,transparent 2px),
	  radial-gradient(circle at 45% 24%,#e0e9ee 0 1px,transparent 2px),
	  radial-gradient(circle at 75% 70%,#e0e9ee 0 1px,transparent 2px),
	  radial-gradient(circle at 65% 42%,#e0e9ee 0 1px,transparent 2px);
}

#bm-hero[data-bm-phase="fade-out"] .bm-night-cast::after,
#bm-hero[data-bm-phase="fade-in"] .bm-night-cast::after {
	animation:bm-dissolve 900ms ease-out both;
}

@keyframes bm-dissolve { 0%,100% { opacity: 0; transform: translateY(0); } 40% { opacity: .5; } 100% { transform: translateY(-8px); } }

#pun .bm-day-cast > .bm-seated-arm {
	animation:bm-hand 5s ease-in-out infinite;
}

@keyframes bm-hand { 0%,100% { transform: rotate(1deg); } 50% { transform: rotate(-5deg); } }

#pun .bm-wand-light {
	transform-box:view-box;
	transform-origin:75% 41%;
	animation:bm-hand 5s ease-in-out infinite;
}

@media (max-width: 800px) {#pun .category tr {
	grid-template-columns:minmax(0,1fr) 65px 95px;
	gap:0;
}

#pun .category .tcr {
	grid-column:1 / -1;
	margin:0 18px;
	padding:12px 0;
	border-left:0;
	border-top:1px solid var(--bm-line);
}

html[data-bm-admin] body #adnav-standard > ul {
	display:flex !important;
	flex-wrap:wrap;
	gap:5px;
}}

@media (max-width: 500px) {#pun .bm-dock-main {
	flex-wrap:wrap;
	gap:0;
}

#pun .bm-dock .bm-controls {
	margin-left:auto;
}

#pun .bm-dock button.bm-control {
	width:34px;
	height:34px;
}

#pun .category tr {
	grid-template-columns:minmax(0,1fr) 48px 78px;
}

#pun .category :is(.tc2,.tc3) {
	padding-inline:4px;
}

#pun #pun-stats .statscon > ul > li:not(#onlinelist) {
	flex:1 1 42%;
}

#pun .post-links ul {
	gap:10px 14px;
}}

#pun .bm-body-ornament {
	display:none;
}

#pun .crumbs {
	padding-top:10px;
	padding-bottom:10px;
}

#pun .category {
	margin-top:12px;
	margin-bottom:24px;
}

#pun .category > h2 {
	font-size:23px;
	font-weight:200;
	letter-spacing:.19em;
	padding-bottom:10px;
	gap:14px;
}

#pun .bm-category-caption {
	font:8px/1.6 var(--bm-font);
	letter-spacing:.2em;
}

#pun .category tr {
	min-height:88px;
	margin-bottom:8px;
	background:linear-gradient(110deg,#ffffff03,transparent);
	grid-template-columns:minmax(0,1fr) 76px 102px minmax(210px,28%);
}

#pun .category td {
	padding-block:8px;
}

#pun .category td.tcl {
	padding-left:7px;
	padding-right:20px;
}

#pun .category .tclcon {
	padding-left:86px;
	min-height:72px;
	padding-top:6px;
	font:9px/1.9 var(--bm-font);
	letter-spacing:.06em;
}

#pun .category .tclcon::before {
	width:72px;
	height:72px;
	border-radius:2px;
	background-position:72% 58%;
	background-size:auto 190px;
}

#pun .category h3 {
	font:300 17px/1.4 var(--bm-display);
	letter-spacing:.13em;
	margin-bottom:6px;
}

#pun .category td.tc2, #pun .category td.tc3 {
	position:relative;
	font-size:19px;
	padding-inline:6px;
}

#pun .category td.tc2::before {
	content:"";
	position:absolute;
	right:-4px;
	top:25%;
	bottom:25%;
	width:1px;
	background:var(--bm-line);
}

#pun .category td.tcr {
	font-size:9px;
	padding:8px 0 8px 16px;
}

#pun .category .bm-lasttext > a {
	text-transform:uppercase;
	letter-spacing:.09em;
}

#pun .category .bm-number {
	color:var(--bm-muted);
	opacity:.23;
}

#pun .category .bm-has-new .bm-number {
	color:var(--bm-accent);
}

#pun .category .user-avatar .avatar-image {
	border:1px solid var(--bm-line);
}

@media (max-width: 800px) {#pun .category tr {
	grid-template-columns:minmax(0,1fr) 65px 90px;
}

#pun .category .tcr {
	grid-column:1 / -1;
}

#pun .category .bm-category-caption {
	max-width:150px;
}}

@media (max-width: 550px) {#pun .category > h2 {
	font-size:20px;
	letter-spacing:.12em;
}

#pun .category .bm-category-caption {
	display:none;
}

#pun .category tr {
	grid-template-columns:minmax(0,1fr) 46px 72px;
}

#pun .category .tclcon {
	padding-left:0;
	min-height:70px;
}

#pun .category .tclcon::before {
	display:none;
}

#pun .category h3 {
	font-size:16px;
}}

#pun .post-author {
	position:relative;
	isolation:isolate;
}

#pun .post-author.bm-personal-author::before {
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	pointer-events:none;
	background:linear-gradient(var(--bm-paper),transparent 50%,var(--bm-paper)), var(--bm-author-art) center / cover;
	opacity:.13;
	border-radius:inherit;
}

#pun .post-author .bm-source-field,
#pun .post-author :is(.pa-fld1,.pa-fld2) > .fld-name {
	display:none !important;
}

#pun .post-author .pa-author {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:7px;
}

#pun .post-author .bm-author-badge {
	width:23px;
	height:23px;
	object-fit:cover;
	border-radius:4px;
}

#pun .post-author .pa-fld1 {
	width:100%;
	padding:9px 6px;
	font:11px/1.7 var(--bm-font);
	text-align:center;
}

#pun .post-author .ank {
	margin-bottom:8px;
	text-transform:uppercase;
	letter-spacing:.07em;
	font-size:10px;
}

#pun .post-author .txt {
	color:var(--bm-muted);
	font:italic 14px/1.5 var(--bm-serif);
}

#pun .post-author .pa-fld2 {
	width:100%;
	margin:6px 0 10px;
}

#pun .post-author .plsh {
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:13px 10px;
	background-size:cover !important;
	background-position:center !important;
	border:1px solid var(--bm-line);
	border-radius:4px;
	color:#f3f4f4;
}

#pun .post-author .plsh::before {
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:#101519b8;
}

#pun .post-author .plsh b {
	display:block;
	font:500 12px/1.5 var(--bm-font);
}

#pun .post-author .plsh p {
	margin-top:3px;
	font:italic 12px/1.5 var(--bm-serif);
}

#pun .post-author .pa-gifts {
	display:block;
	font:10px/1.6 var(--bm-font);
}

html[data-bm-motion="off"] #pun .bm-night-cast::after {
	display:none;
}

#pun :is(.pa-gifts,#pa-gifts,#profile-gifts) {
	display:none !important;
}

#pun #pun-stats #onlinelist {
	padding-top:7px;
	font-size:13px;
	letter-spacing:.025em;
}

#pun .bm-online-clean {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:center;
	gap:6px 12px;
}

#pun .bm-online-clean > a {
	font-weight:500;
}

#pun .bm-online-names {
	display:inline-flex;
	flex-wrap:wrap;
	gap:6px;
}

#pun .category .bm-last-author {
	margin-top:4px;
	font:300 15px/1.4 var(--bm-display);
	letter-spacing:.12em;
	text-transform:uppercase;
}

#pun .category .bm-last-author :is(a,.byuser) {
	font:inherit;
	color:var(--bm-text);
}

#pun .category .bm-last-date {
	margin-top:4px;
	font:9px/1.6 var(--bm-font);
	color:var(--bm-muted);
}

#pun .forum .tcl .intd {
	position:relative;
	padding-left:37px;
}

#pun .forum .tcl .icon.bm-topic-marker {
	display:flex !important;
	position:absolute;
	left:0;
	top:3px;
	width:25px;
	height:28px;
	margin:0;
	padding:0;
	border:0;
	background:none !important;
	color:var(--bm-muted);
	align-items:center;
	justify-content:center;
}

#pun .forum .bm-topic-marker::before,#pun .forum .bm-topic-marker::after {
	content:none !important;
}

#pun .forum .bm-topic-marker .bm-icon {
	width:22px;
	height:22px;
}

#pun .forum :is(.isticky,.iannouncement,.iglobal) .bm-topic-marker {
	color:var(--bm-accent);
}

#pun .forum :is(.inew,.inewst) .bm-topic-marker {
	filter:drop-shadow(0 0 4px var(--bm-accent));
	color:var(--bm-text);
}

#pun .forum .bm-topic-marker .bm-small-lock {
	width:11px;
	height:11px;
	position:absolute;
	bottom:0;
	right:-3px;
}

#pun .forum :is(.stickytext,.closedatafield,.announcementtext) {
	display:none;
}

#pun .bm-walk {
	transition:opacity var(--bm-fade,1800ms) cubic-bezier(.4,0,.2,1), filter var(--bm-fade,1800ms) ease;
}

#pun .bm-walk:not(.is-visible) {
	filter:saturate(.55) brightness(.82) blur(2px);
}

#pun .bm-walk.is-visible {
	filter:saturate(.55) brightness(.82) blur(0) drop-shadow(0 5px 7px #0004);
}

#pun .bm-walk.bm-instant {
	transition:none !important;
}

#pun #bm-hero .bm-night-cast::after {
	animation-duration:1800ms;
}

#pun .bm-fireflies {
	position:absolute;
	inset:0;
	overflow:hidden;
	z-index:4;
	pointer-events:none;
}

#pun .bm-firefly {
	position:absolute;
	display:block;
	width:var(--bm-flake-size);
	height:var(--bm-flake-size);
	border-radius:50%;
	background:#fff;
	opacity:0;
	box-shadow:0 0 5px #ffffff70;
	pointer-events:none;
	animation:bm-white-flake var(--bm-flake-duration) ease-in-out infinite;
}

@keyframes bm-white-flake {
	0%,18%,100% { opacity: 0; transform: translate(0,8px) scale(.7); }
	48% { opacity: .75; }
	76% { opacity: .24; }
	95% { opacity: 0; transform: translate(var(--bm-flake-drift),-15px) scale(1); }
}

#pun #bm-hero .bm-mist {
	z-index:2;
	bottom:11%;
	left:-15%;
	width:130%;
	height:27%;
	background:none;
	animation:none;
	opacity:1;
	overflow:visible;
}

#pun .bm-mist::before,#pun .bm-mist::after {
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:radial-gradient(ellipse at 25% 70%,#dbe4ec26 0,transparent 55%),radial-gradient(ellipse at 70% 55%,#dbe4ec30 0,transparent 50%);
	filter:blur(7px);
	animation:bm-lake-fog 26s ease-in-out infinite alternate;
}

#pun .bm-mist::after {
	inset:20% -8% -10%;
	animation-duration:37s;
	animation-delay:-12s;
	animation-direction:alternate-reverse;
	opacity:.6;
}

@keyframes bm-lake-fog { from { transform: translateX(-4%) scaleY(.8); opacity: .45; } to { transform: translateX(5%) scaleY(1.12); opacity: .85; } }

html[data-bm-theme="light"] #pun .bm-mist::before,
html[data-bm-theme="light"] #pun .bm-mist::after {
	background:radial-gradient(ellipse at 25% 70%,#ffffff50 0,transparent 55%),radial-gradient(ellipse at 70% 55%,#ffffff45 0,transparent 50%);
}

html[data-bm-motion="off"] #pun .bm-firefly,
html[data-bm-motion="off"] #pun .bm-mist::before,
html[data-bm-motion="off"] #pun .bm-mist::after,
#pun .bm-page-hidden :is(.bm-firefly,.bm-walk),
#pun .bm-page-hidden .bm-mist::before,#pun .bm-page-hidden .bm-mist::after {
	animation-play-state:paused !important;
}

#pun .punbb-admin {
	color:var(--bm-text);
	background:var(--bm-paper);
}

#pun #pun-admain {
	display:grid !important;
	grid-template-columns:170px minmax(0,1fr);
	gap:0 24px;
	padding:20px 24px !important;
	margin:0 !important;
	float:none !important;
	clear:both;
	width:100%;
	align-items:start;
}

#pun #pun-admain > h1 {
	display:none !important;
}

#pun #pun-admain > #pun-adnav {
	grid-column:1 !important;
	grid-row:1 / span 100 !important;
	float:none !important;
	position:static !important;
	width:auto !important;
	margin:0 !important;
	padding:0 !important;
	align-self:start;
}

#pun #pun-admain > :is(.adformal,.adsection,.adinfo) {
	grid-column:2 !important;
	grid-row:auto !important;
	min-width:0;
	float:none !important;
	width:auto !important;
	margin:0 0 16px !important;
}

#pun #pun-adnav :is(h2,h3) {
	background:var(--bm-panel) !important;
	color:var(--bm-text) !important;
	border:1px solid var(--bm-line);
	padding:8px 10px;
}

#pun #pun-adnav .adsubnav {
	display:none !important;
}

#pun #pun-adnav .isactive > .adsubnav {
	display:block !important;
}

#pun #pun-adnav a,#pun #pun-adnav .adsubnav a {
	color:var(--bm-text) !important;
	font:11px/1.5 var(--bm-font);
	text-decoration:none !important;
}

#pun #pun-admain :is(.adformal,.adcontainer) {
	background:var(--bm-paper);
	border-color:var(--bm-line) !important;
}

#pun #pun-admain :is(form.adcontainer,div.adcontainer) {
	padding:16px !important;
}

#pun #pun-adnav .adcontainer {
	padding:0 !important;
}

#pun #pun-admain fieldset {
	background:var(--bm-panel) !important;
	border:1px solid var(--bm-line) !important;
	padding:14px !important;
	margin-bottom:16px !important;
	min-width:0;
}

#pun #pun-admain fieldset :is(p,.handle),
#pun #pun-admain .adcontainer dl {
	border:0 !important;
	background:transparent !important;
	color:var(--bm-text) !important;
	padding:9px 0 !important;
	margin:0 0 7px !important;
	position:relative;
}

#pun #pun-admain :is(legend,legend span) {
	color:var(--bm-text) !important;
	background:var(--bm-panel) !important;
	padding:3px 7px !important;
	margin:0 !important;
	font:500 12px/1.5 var(--bm-font);
}

#pun #pun-admain :is(.adlabel,.adinput,.adsubmit,.adcontainer dt,.adcontainer dd) {
	display:block;
	position:static !important;
	float:none !important;
	left:auto !important;
	width:auto !important;
	margin:0 !important;
	padding:0 !important;
	color:var(--bm-text);
}

#pun #pun-admain .adlabel {
	margin-bottom:6px !important;
}

#pun #pun-admain .adsubmit {
	margin-top:9px !important;
}

#pun #pun-admain p.contains-textarea .adinput {
	margin-top:8px !important;
}

#pun #pun-admain :is(textarea,input,select) {
	color:var(--bm-text) !important;
	background-color:var(--bm-field) !important;
	border:1px solid var(--bm-line);
	max-width:100%;
}

#pun #pun-admain table {
	table-layout:auto !important;
}

#pun #pun-admain :is(th,td) {
	width:auto !important;
	color:var(--bm-text) !important;
	background:var(--bm-paper) !important;
	border-color:var(--bm-line) !important;
	word-break:normal;
	overflow-wrap:normal;
}

#pun #pun-admain th {
	background:var(--bm-panel) !important;
}

#pun #pun-admain a {
	color:var(--bm-link) !important;
}

#pun #pun-admain .adfs-box {
	overflow:visible;
	padding:0 !important;
}

@media(max-width:700px) {#pun #pun-admain {
	grid-template-columns:minmax(0,1fr);
	padding:12px !important;
}

#pun #pun-admain > #pun-adnav {
	grid-column:1 !important;
	grid-row:1 !important;
	margin-bottom:16px !important;
}

#pun #pun-admain > :is(.adformal,.adsection,.adinfo) {
	grid-column:1 !important;
}

#pun #pun-adnav #adnav-standard > ul {
	display:flex !important;
	flex-wrap:wrap;
	gap:5px;
}}

#pun .category td.tcl .tclcon::before {
	background-image:var(--bm-card-art, var(--bm-scene));
	background-size:300% 100%;
	background-position:var(--bm-card-position,0%) center;
	opacity:.9;
}

#pun #pun-adnav {
	display:block;
	visibility:visible;
	opacity:1;
}

#pun #pun-adnav :is(.adcontainer,#adnav-standard,ul,li) {
	position:static;
	float:none;
	width:auto;
	margin:0;
	padding:0;
	list-style:none;
}

#pun #pun-adnav a {
	display:block;
	padding:6px 9px;
	margin-bottom:4px;
	border:1px solid var(--bm-line);
	background:var(--bm-panel);
}

#pun #pun-adnav .adsubnav {
	padding-left:9px;
}

#pun #pun-adnav .adsubnav a {
	font-size:10px;
	padding:4px 8px;
}

#pun #pun-adnav .isactive > a {
	background:var(--bm-accent);
	color:var(--bm-on-accent) !important;
}

#pun #pun-adnav sup.new {
	display:none;
}

#pun #pun-admain .adformal > h2 {
	padding:12px 16px;
	margin-bottom:12px;
	background:var(--bm-panel);
	color:var(--bm-text);
	border:1px solid var(--bm-line);
}

#pun #pun-stats {
	padding-bottom:4px;
}

#pun #pun-stats .container, #pun #pun-about .container,
#pun #pun-crumbs2 .container {
	margin:0;
	padding-block:0;
}

#pun #pun-crumbs2 {
	margin:0;
	min-height:0;
}

#pun #pun-about {
	margin:0;
	min-height:0;
}

#pun .post-links > ul {
	margin:0;
	padding:0;
	min-height:0;
}

#pun .post > h3 .bm-post-number {
	order:3;
	margin-left:auto;
	font-weight:400;
}

#pun .post > h3 .permalink {
	display:inline-flex;
	gap:7px;
	align-items:center;
}

#pun .post > h3 .permalink .bm-icon {
	width:15px;
	height:15px;
}

html[data-bm-theme="light"] #pun .post-content a {
	color:#226b86;
}

#pun .bm-topic-heading {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px 20px;
	margin:0 0 10px;
	padding:0 0 10px;
	border-bottom:1px solid var(--bm-line);
}

#pun .bm-topic-heading h1 {
	flex:1 1 280px;
	margin:0;
	font-size:clamp(24px,3vw,32px);
}

#pun .bm-topic-heading .bm-reading {
	flex:0 0 auto;
}

#pun .bm-dock-sentinel {
	display:block;
	height:1px;
	margin-bottom:-1px;
}

#pun .bm-dock.bm-stuck .bm-dock-main {
	min-height:34px;
	padding-block:2px;
}

#pun .bm-dock.bm-stuck #pun-navlinks a {
	padding-block:3px;
}

#pun .bm-dock.bm-stuck #pun-ulinks {
	min-height:24px;
	padding-block:2px;
	border-top:0;
}

#pun .bm-dock.bm-stuck button.bm-control {
	width:24px;
	height:24px;
	min-width:24px;
	min-height:24px;
	padding:4px;
}

#pun .forum tbody td {
	background:transparent;
	padding-block:12px;
	border-bottom:1px solid color-mix(in srgb,var(--bm-line) 45%,transparent);
}

#pun .forum tbody tr {
	background:transparent;
	transition:background-color .3s, box-shadow .3s;
}

#pun .forum tbody tr:hover {
	background:var(--bm-glow);
	box-shadow:inset 2px 0 var(--bm-accent);
}

#pun .forum tbody .tclcon {
	transition:transform .3s;
}

#pun .forum tbody tr:hover .tclcon {
	transform:translateX(3px);
}

#pun .forum thead th {
	padding-block:8px;
	border-bottom-color:var(--bm-line);
}

#pun :is(#pun-navlinks,#pun-ulinks) a,
#pun :is(button,input[type="submit"],input[type="button"],.postlink a) {
	background-image:linear-gradient(110deg,transparent 35%,#c8e4f644 50%,transparent 65%);
	background-size:300% 100%;
	background-position:100% 0;
	transition:background-position .65s ease, background-color .2s, color .2s;
}

#pun :is(#pun-navlinks,#pun-ulinks) a:hover,
#pun :is(button,input[type="submit"],input[type="button"],.postlink a):hover {
	background-position:0 0;
}

#pun .category .bm-lastpost {
	align-items:stretch;
}

#pun .category .user-avatar {
	flex:0 0 44px;
	width:44px;
	height:auto;
	align-self:stretch;
	min-height:54px;
}

#pun .category .user-avatar .avatar-image {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:2px;
}

html[data-bm-theme="light"] #pun .category td.tcl .tclcon::before {
	background-image:var(--bm-card-art-light,var(--bm-card-art));
	opacity:1;
}

#pun .category .bm-new {
	display:none;
}

#pun .category .bm-number {
	width:64px;
	text-align:center;
	font-size:64px;
	line-height:72px;
	left:-69px;
	transform:translateY(-50%);
	letter-spacing:-.07em;
}

#pun .category.bm-category-even .bm-number {
	left:auto;
	right:-69px;
}

#pun .category .bm-has-new .bm-number {
	opacity:1;
}

#pun .category .bm-has-new .bm-number::before {
	content:"";
	position:absolute;
	width:68px;
	height:68px;
	left:-2px;
	top:2px;
	border:1px solid var(--bm-accent);
	border-radius:50%;
	opacity:.35;
	box-shadow:0 0 12px var(--bm-glow), inset 0 0 12px var(--bm-glow);
	animation:bm-unread-ring 3.8s ease-in-out infinite;
}

#pun .bm-number-stars {
	display:none;
	position:absolute;
	inset:0;
	pointer-events:none;
}

#pun .bm-has-new .bm-number-stars {
	display:block;
}

#pun .bm-number-stars i {
	position:absolute;
	width:10px;
	height:14px;
	top:3px;
	left:4px;
	background:var(--bm-accent);
	clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
	animation:bm-number-spark 3s ease-in-out infinite;
}

#pun .bm-number-stars i:nth-child(2) {
	left:auto;
	right:-3px;
	top:43px;
	animation-delay:1.1s;
	width:8px;
	height:12px;
}

#pun .bm-number-stars i:nth-child(3) {
	left:13px;
	top:65px;
	animation-delay:2.2s;
	width:6px;
	height:9px;
}

@keyframes bm-unread-ring { 50% { opacity: .65; transform: scale(1.07); } }

@keyframes bm-number-spark { 0%,100% { opacity: .1; transform: scale(.65); } 50% { opacity: .9; transform: scale(1); } }

html[data-bm-motion="off"] #pun .bm-number::before,
html[data-bm-motion="off"] #pun .bm-number-stars i {
	animation-play-state:paused;
}

html[data-bm-motion="off"] #pun :is(.forum tr,.forum .tclcon,#pun-navlinks a,#pun-ulinks a) {
	transition:none;
}

@media (max-width: 650px) {#pun .category .bm-number {
	font-size:42px;
	width:42px;
	line-height:48px;
	left:-45px;
}

#pun .category.bm-category-even .bm-number {
	right:-45px;
}

#pun .category .bm-has-new .bm-number::before {
	width:44px;
	height:44px;
	left:-1px;
	top:2px;
}

#pun .bm-number-stars i:nth-child(2) {
	top:27px;
}

#pun .bm-number-stars i:nth-child(3) {
	top:43px;
}

#pun .bm-topic-heading {
	align-items:flex-start;
}}


#pun :is(.formal,.adformal) legend > span {
	position:static; display: inline; float: none;
	margin:0; padding: 0; width: auto; transform: none;
}


#pun {
	background-image:
	  radial-gradient(ellipse at 12% 38%,#b7cbd60c,transparent 40%),
	  radial-gradient(ellipse at 88% 68%,#c8d9de09,transparent 38%),
	  repeating-linear-gradient(118deg,transparent 0 43px,#a8bec303 45px,transparent 48px);
}

#pun #pun-main::before {
	content:''; position: absolute; inset: 0; pointer-events: none; opacity: .035;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}

html[data-bm-theme="light"] #pun {
	background-image:radial-gradient(ellipse at 20% 45%,#a6bbc711,transparent 42%),radial-gradient(ellipse at 90% 75%,#f1f1f1,transparent 35%);
}

#pun .bm-dock {
	border:0; background: transparent; backdrop-filter: none; padding: 4px 10px 2px;
}

#pun .bm-dock-main {
	width: 86%;
box-sizing: border-box;
max-width: 100%; margin: 0 auto; min-height: 40px;
	padding:4px 16px; border: 1px solid var(--bm-line); border-radius: 30px;
	background:var(--bm-nav); box-shadow: inset 0 1px #ffffff09,0 3px 15px #00000010;
	backdrop-filter:blur(14px);
}

#pun .bm-dock #pun-ulinks {
	width:fit-content; max-width: 100%; margin: 0 auto; min-height: 24px;
	padding:2px 14px; border: 0; background: var(--bm-nav); border-radius: 0 0 15px 15px;
}

#pun .category .bm-number-value {
	display:block; font: 200 110px/72px var(--bm-display);
	transform:scaleX(.62) scaleY(1.12); transform-origin: center;
}

#pun .category .bm-number { overflow: visible; }

#pun #color-area td { border: 0; }

@media (max-width: 650px) {
	#pun .category .bm-number-value { font-size: 70px; line-height: 48px; }

	#pun .bm-dock-main { border-radius: 18px; padding-inline: 8px; }}


#pun #pun-stats > h2 { display:none; }

#pun #pun-stats .bm-stats-layout { display:grid; grid-template-columns:minmax(210px,1fr) minmax(0,1.2fr); gap:20px; padding:12px 0; align-items:center; }

#pun #pun-stats .bm-stats-layout > ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }

#pun #pun-stats .bm-stats-layout > ul > li { display:flex; flex-direction:column; justify-content:center; gap:5px; padding:4px 8px; border:0; border-left:1px solid var(--bm-line); border-radius:0; background:none; text-align:center; min-width:0; }

#pun #pun-stats .bm-stats-layout li > .bm-icon { width:22px; height:22px; flex-basis:22px; margin-bottom:7px; color:var(--bm-accent); }

#pun #pun-stats .bm-stats-layout li > strong { order:1; font:400 19px/1.3 var(--bm-serif); overflow-wrap:anywhere; }

#pun #pun-stats .bm-stats-layout li > span { order:2; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }

#pun #pun-stats .bm-stats-layout #onlinelist { grid-column:1; grid-row:1; padding:0; text-align:left; font-size:10px; }

#pun .bm-online-portraits { display:flex; gap:6px; margin:8px 0; }

#pun .bm-online-portrait { display:grid; place-items:center; width:34px; height:38px; overflow:hidden; border:1px solid var(--bm-line); font:20px var(--bm-display); }

#pun .bm-online-portrait :is(img,.avatar-image) { display:block; width:100%; height:100%; object-fit:cover; background-size:cover; }

#pun #onlinelist .bm-online-names { font-size:9px; letter-spacing:.08em; text-transform:uppercase; }

@media(max-width:750px) { #pun #pun-stats .bm-stats-layout { grid-template-columns:1fr; gap:12px; }}


#pun #pun-admain legend { float:left; width:100%; padding:0 !important; margin:0 0 10px !important; }

#pun #pun-admain legend + * { clear:both; }


:root {
    --bm-page-texture: url("ССЫЛКА_НА_ТЁМНУЮ_ТЕКСТУРУ");
}


html[data-bm-theme="light"] {
    --bm-page-texture: url("ССЫЛКА_НА_СВЕТЛУЮ_ТЕКСТУРУ");
}


html body {
    background-color: var(--bm-bg);
    background-image: var(--bm-page-texture);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}


/* Светлое тело форума: белые засветы без желтизны */
html[data-bm-theme="light"] {
    --bm-paper: #f4f6f8;
    --bm-panel: #e9edf0;
}


html[data-bm-theme="light"] #pun {
    background-color: #f4f6f8 !important;
    background-image:
        radial-gradient(
            ellipse at 20% 45%,
            rgba(178, 196, 210, 0.10),
            transparent 42%
        ),
        radial-gradient(
            ellipse at 90% 75%,
            rgba(255, 255, 255, 0.85),
            transparent 45%
        ) !important;
}


/* Светлая тема: нейтральный белый фон меню */
html[data-bm-theme="light"] {
    --bm-nav: rgba(248, 250, 252, 0.96);
}


html[data-bm-theme="light"] #pun .bm-dock-main,
html[data-bm-theme="light"] #pun .bm-dock #pun-ulinks {
    background: var(--bm-nav) !important;
}


/* Приветствие на картинке */
html[data-bm-theme="light"] #pun #bm-hero #pun-status {
    background: rgba(248, 250, 252, 0.78) !important;
}


/* Подсветка названия в шапке — тоже без кремового */
html[data-bm-theme="light"] #pun #bm-hero .bm-title::before {
    background: radial-gradient(
        ellipse,
        #f8fafce0 10%,
        #f8fafc50 55%,
        transparent 75%
    ) !important;
}


/* Светлая карточка автора */
html[data-bm-theme="light"] #pun .post .post-author,
html[data-bm-theme="light"] #pun .post .post-author > ul {
    --card-bg: #f3f6f9 !important;
}


html[data-bm-theme="light"] #pun .post .post-author > ul {
    background: #f3f6f9 !important;
}


html[data-bm-theme="light"] #pun .post .post-author .pa-author,
html[data-bm-theme="light"] #pun .post .post-author .pa-author > a {
    background-color: #f3f6f9 !important;
}


/* Цвет ссылок в личном звании и описании */
html[data-bm-theme] #pun .post-author {
    --author-link: #d0e3ee;
}


html[data-bm-theme="light"] #pun .post-author {
    --author-link: #405f73;
}


html[data-bm-theme] #pun .post-author .pa-fld1 a,
html[data-bm-theme] #pun .post-author .pa-fld1 a *,
html[data-bm-theme] #pun .post-author .pa-fld1 a:visited {
    color: var(--author-link) !important;
    -webkit-text-fill-color: currentColor;
    opacity: 1;
}


/* Одинаковое затемнение личной плашки в обеих темах */
html[data-bm-theme] #pun .post-author .plsh::before {
    background: rgba(15, 23, 30, 0.45) !important;
    opacity: 1 !important;
}


/* Единый фон тёмной версии */
html:not([data-bm-theme="light"]) #pun {
    --bm-body-top: #161d23;

    background: linear-gradient(
        155deg,
        #161d23 0%,
        #161d23 25%,
        #1a2229 55%,
        #202a32 80%,
        #29353e 100%
    ) !important;

    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
}


/* Убираем отдельные заливки крупных секций */
html:not([data-bm-theme="light"]) #pun :is(
    #pun-main,
    #pun-crumbs1,
    #pun-crumbs2,
    #pun-crumbs1 > .container,
    #pun-crumbs2 > .container,
    #pun-stats,
    #pun-stats .statscon,
    #pun-stats .container,
    #pun-stats .bm-stats-layout,
    #pun-about,
    #pun-about > .container,
    .category,
    .category > h2,
    .category > .container,
    .category table,
    .category tbody,
    .category td
) {
    background: transparent !important;
}


/* Убираем зернистый слой, ограниченный прямоугольником тела */
html:not([data-bm-theme="light"])
#pun #pun-main::before {
    content: none !important;
}


/* Строки форумов: спокойный фон и мягкое наведение */
html:not([data-bm-theme="light"]) #pun .category tr {
    background: transparent !important;
    box-shadow: none;
    transition: background-color 0.35s ease;
}


html:not([data-bm-theme="light"]) #pun .category tr:hover {
    background: rgba(191, 213, 228, 0.035) !important;
}


/* Шапка растворяется в том же цвете, с которого начинается тело */
html:not([data-bm-theme="light"]) #pun #bm-hero::before {
    background: linear-gradient(
        to top,
        #161d23 0%,
        rgba(22, 29, 35, 0.96) 7%,
        rgba(22, 29, 35, 0.72) 16%,
        rgba(22, 29, 35, 0.30) 27%,
        rgba(22, 29, 35, 0) 42%
    ) !important;
}


/* Статистика продолжает общий фон без поперечного шва */
html:not([data-bm-theme="light"]) #pun #pun-stats {
    border-top: 0 !important;
    box-shadow: none !important;
}


/* Активное поле ответа: выделение внутри, без наложения на кнопки */
#pun #post textarea:focus,
#pun #post textarea:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    border-color: var(--bm-accent) !important;
    box-shadow: inset 0 0 0 1px var(--bm-accent) !important;
}


/* Свои стикеры — наклейка с загнутым уголком */
#pun #form-buttons #button-sticker {
    position: relative;
    color: var(--bm-text);
    cursor: pointer;
}


#pun #form-buttons #button-sticker::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%);
    background: currentColor;
    pointer-events: none;

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 21H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v8Z'/%3E%3Cpath d='M14 21v-4a3 3 0 0 1 3-3h4M8 8h.01M15 8h.01M8 12c1.5 2 4.5 2 6 0'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 21H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v8Z'/%3E%3Cpath d='M14 21v-4a3 3 0 0 1 3-3h4M8 8h.01M15 8h.01M8 12c1.5 2 4.5 2 6 0'/%3E%3C/svg%3E") center / contain no-repeat;
}


/* Сообщения: один разделитель вместо множества рамок */
#pun .post {
    border: 0;
    border-bottom: 1px solid var(--bm-line);
}


#pun .post > h3,
#pun .post .post-author,
#pun .post .post-sig,
#pun .post .post-links {
    border: 0;
}


#pun .post .post-sig {
    margin-top: 16px;
    padding-top: 0;
}


#pun .post .post-links {
    padding-top: 6px;
}


/* Дата и номер сообщения — утопленная плашка */
#pun .post > h3 {
    margin: 8px 18px 0;
    padding: 9px 14px;
    border: 0;
    border-radius: 7px;

    background: rgba(6, 12, 18, .18);
    box-shadow:
        inset 0 2px 5px rgba(0, 0, 0, .24),
        inset 0 -1px 0 rgba(255, 255, 255, .035);

    color: var(--bm-muted);
}


html[data-bm-theme="light"] #pun .post > h3 {
    background: #e8edf1;
    box-shadow:
        inset 0 2px 5px rgba(57, 76, 92, .14),
        inset 0 -1px 0 rgba(255, 255, 255, .85);
}


#pun .post > h3 a {
    color: inherit;
}


#pun .post > h3 .post-num {
    margin-left: auto;
}


/* Вернуть разделитель перед статистикой в тёмной теме */
html:not([data-bm-theme="light"]) #pun #pun-stats {
    border-top: 1px solid var(--bm-line) !important;
}


/* Ширина карточки; приоритет выше оформления из HTML-верха. */
html body #pun .post .post-author > ul {
    width: 100% !important;
    box-sizing: border-box;
}


/* Компактная шапка окна маски */
#pun #bm-mask-dialog {
    padding: 8px !important;
}


#pun #bm-mask-dialog .bm-mask-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px !important;
    padding: 0 !important;
}


#pun #bm-mask-dialog .bm-mask-head h2 {
    flex: 1;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    background: none;
    font: 600 13px/24px Arial, sans-serif !important;
}


#pun #bm-mask-dialog .bm-mask-head button {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
}


/* Список и удаление — одинаковой высоты */
#pun #bm-mask-dialog .bm-mask-history {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    margin: 0 0 8px !important;
    padding: 0 !important;
}


#pun #bm-mask-dialog .bm-mask-history label {
    flex: 1;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    font: 11px/16px Arial, sans-serif;
}


#pun #bm-mask-dialog select {
    height: 28px !important;
    margin: 3px 0 0 !important;
    padding: 3px 5px !important;
    font-size: 12px !important;
}


#pun #bm-mask-dialog [data-delete-mask] {
    flex: 0 0 62px;
    height: 28px;
    margin: 0 !important;
    padding: 0 6px !important;
    font-size: 0 !important;
    text-align: center;
}


#pun #bm-mask-dialog [data-delete-mask]::after {
    content: "Удалить";
    font: 11px/26px Arial, sans-serif;
}


/* Верхнее меню — строго одна строка */
#pun .bm-dock-main {
    display: flex;
    flex-wrap: nowrap !important;
    gap: 6px;
    padding: 5px 10px;
    min-height: 0;
}


#pun .bm-dock-main #pun-navlinks {
    flex: 1 1 auto;
    min-width: 0;
}


#pun #pun-navlinks ul {
    flex-wrap: nowrap !important;
    justify-content: space-evenly;
    gap: clamp(2px, .6vw, 10px);
}


#pun #pun-navlinks li {
    flex: 0 1 auto;
    min-width: 0;
}


#pun #pun-navlinks a {
    gap: 3px;
    padding: 5px 0;
    font-size: clamp(6px, .85vw, 10px);
    letter-spacing: .03em;
    white-space: nowrap;
}


#pun #pun-navlinks .bm-icon {
    width: clamp(8px, 1.1vw, 13px);
    height: clamp(8px, 1.1vw, 13px);
    flex-shrink: 0;
}


#pun .bm-dock .bm-controls {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 2px;
    margin: 0;
}


#pun .bm-dock button.bm-control {
    width: clamp(17px, 2.3vw, 25px);
    height: clamp(17px, 2.3vw, 25px);
    min-width: 0;
    min-height: 0;
    padding: 3px;
}


#pun .bm-dock button.bm-control .bm-icon {
    width: 100%;
    height: 100%;
    flex-basis: auto;
}


/* Скрываем заголовок подписи, сохраняя саму подпись */
#pun .post .post-sig > h4 {
    display: none !important;
}


/* Скрыть служебный блок, сохранив поле отправки */
#pun #formkey {
    display: none !important;
}


/* Убрать только заголовок подписи */
#pun .post-sig > dt {
    display: none !important;
}


#pun .post-rating a::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 12px;
    width: 12px;
    height: 12px;
    background: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip-path: polygon(
        50% 0, 62% 38%, 100% 50%, 62% 62%,
        50% 100%, 38% 62%, 0 50%, 38% 38%
    );
}


#pun .post-rating a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}


#pun .post-vote a.positive {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    color: var(--bm-accent);
    background: var(--bm-panel);
    border: 1px solid var(--bm-line);
    border-radius: 50%;
}


#pun .post-vote a.positive .bm-icon {
    display: block !important;
    width: 14px;
    height: 14px;
}
/* Карточка автора: единые правила вместо накопленных правок статуса. */
html body #pun .post-author .pa-author {
    background-size: 100% auto !important;
    background-position: left top !important;
    background-repeat: no-repeat !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
html body #pun .post-author .pa-title {
    margin: 0 !important;
    padding: 0 8px 3px !important;
    text-align: center !important;
}
/* Отключены альтернативные звёзды: используется существующий .bm-presence. */
html body #pun .post-author > ul::after,
html body #pun .post-author .bm-ep-presence {
    display: none !important;
}
html[data-bm-theme] body #pun .post-author .pa-author .bm-presence {
    display: block !important;
    position: absolute !important;
    inset: 8px 9px auto auto !important;
    width: 18px !important;
    min-width: 0 !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #91a4b2 !important;
    opacity: .65 !important;
    overflow: visible !important;
    visibility: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
    animation: none !important;
    pointer-events: none;
    z-index: 6 !important;
}
html[data-bm-theme] body #pun .post-author .pa-author .bm-presence svg,
html[data-bm-theme] body #pun .post-author .pa-author .bm-presence::after {
    display: none !important;
    content: none !important;
}
html[data-bm-theme] body #pun .post-author .pa-author .bm-presence::before {
    content: "" !important;
    display: block !important;
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: currentColor !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    clip-path: polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%) !important;
}
html[data-bm-theme] body #pun .post-author .pa-author .bm-presence.is-online {
    color: #e0f5ff !important;
    opacity: 1 !important;
    filter: drop-shadow(0 0 4px #a5d9ed);
  animation: bm-card-presence 8s ease-in-out infinite !important;
}
@keyframes bm-card-presence {
    0%, 75% {
        rotate: 0deg;
        filter: drop-shadow(0 0 3px #a5d9ed);
    }
    90%, 100% {
        rotate: 360deg;
        filter: drop-shadow(0 0 3px #a5d9ed);
    }
}
html[data-bm-motion="off"] body #pun .post-author .pa-author .bm-presence {
    animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
    html[data-bm-theme] body #pun .post-author .pa-author .bm-presence {
        animation: none !important;
    }
}
/* Числа 435 и +541 не разбиваются на строки на телефоне. */
html body #pun .post-author :is(.pa-posts,.pa-respect,.pa-positive) {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}
html body #pun .post-author :is(.pa-posts,.pa-respect,.pa-positive) span {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}
html body #pun .post-author .bm-metric .bm-icon {
    flex-shrink: 0 !important;
}

/* Ник и страницы — рядом под названием темы */
#pun .forum .tclcon > .byuser {
    display: inline !important;
    margin: 0 8px 0 0 !important;
}

#pun .forum .tclcon > .byuser::before {
    content: "\A";
    white-space: pre;
}

#pun .forum .tclcon > .pagestext {
    display: inline !important;
    margin: 0 !important;
    white-space: nowrap;
}

#pun .forum .tclcon > .byuser + br {
    display: none !important;
}

/* ЛЗ у всех пользователей — последнее, во всю ширину */
#pun #viewprofile #profile-right > li#pa-fld1,
#pun #viewprofile #profile-right > li#profile-fld1,
#pun #viewprofile #profile-right > li.pa-fld1 {
    order: 99 !important;
    grid-column: 1 / -1 !important;
    min-width: 0;
    height: auto;
}

/* Карточка на странице профиля */
#pun #viewprofile #profile-left {
    box-sizing: border-box;
    align-self: start;
    padding: 14px 12px 12px;
    border: 1px solid var(--bm-line);
    border-radius: 12px;
    background:
        radial-gradient(
            ellipse at top right,
            var(--bm-glow),
            transparent 65%
        ),
        var(--bm-panel);
    color: var(--bm-text);
    text-align: center;
    box-shadow: 0 5px 18px var(--bm-shadow);
}

#pun #profile-left ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#pun #profile-left li {
    margin: 0;
    padding: 3px 0;
    list-style: none !important;
    font: 12px/1.4 var(--bm-font);
}

#pun #profile-left li::marker {
    content: "";
}

#pun #profile-left li:empty {
    display: none;
}

/* Ник */
#pun #profile-left ul > li:first-child {
    display: table;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 auto 3px;
    padding: 5px 12px 3px;
    border-radius: 5px;
    background: #141c22e0;
    color: #d5dce0;
    font: 400 25px/1.1 var(--bm-display);
    letter-spacing: .06em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

#pun #profile-left ul > li:first-child :is(a, strong, b) {
    font: inherit;
    color: inherit;
    text-transform: inherit;
}

/* Статус */
#pun #profile-left ul > li:nth-child(2) {
    padding: 0 4px 6px;
    color: var(--bm-muted);
    font: 11px/1.35 var(--bm-font);
}

/* Аватар */
#pun #profile-left #pa-avatar {
    padding: 0;
}

#pun #profile-left #pa-avatar img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 6px;
    border-radius: 7px;
}

/* Ссылки и активность */
#pun #profile-left li a {
    color: var(--bm-link);
}

#pun #profile-left li strong {
    font-weight: 500;
}

/* Светлая тема — без желтизны */
html[data-bm-theme="light"] #pun #viewprofile #profile-left {
    background:
        radial-gradient(
            ellipse at top right,
            #dcebf466,
            transparent 65%
        ),
        #f3f6f9;
}

html[data-bm-theme="light"]
#pun #profile-left ul > li:first-child {
    background: #e3ebf1;
    color: #354955;
}

/* Ник и подложка */
#pun #viewprofile #profile-left #pa-author {
    display: table !important;
    margin: 0 auto 4px !important;
    padding: 5px 12px 3px !important;
    border-radius: 6px;
    background: #141c22e0;
    color: #d5dce0;
    font: 400 25px/1.1 var(--bm-display) !important;
    letter-spacing: .06em;
    text-transform: uppercase !important;
}

#pun #profile-left #pa-author * {
    font: inherit !important;
    color: inherit !important;
    text-transform: uppercase !important;
}

html[data-bm-theme="light"] #pun #profile-left #pa-author {
    background: #e3ebf1;
    color: #354955;
}

/* Активность: звезда вместо шрифтового символа */
#pun #profile-left #pa-online {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 5px 0;
    color: var(--bm-muted);
    font: 11px/1.4 var(--bm-font);
}

#pun #profile-left #pa-online::before {
    content: "";
    display: block;
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    background: var(--bm-accent);
    clip-path: polygon(
        50% 0, 62% 38%, 100% 50%, 62% 62%,
        50% 100%, 38% 62%, 0 50%, 38% 38%
    );
    animation: bm-profile-star 8s ease-in-out infinite;
}

@keyframes bm-profile-star {
    0%, 75% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Редактирование — компактная плашка */
#pun #profile-left a[href*="profile.php"][href*="section="],
#pun #profile-left #pa-edit a {
    position: relative;
    display: inline-block;
    overflow: hidden;
    box-sizing: border-box;
    margin: 6px auto 0;
    padding: 6px 12px;
    border: 1px solid var(--bm-line);
    border-radius: 6px;
    background: var(--bm-field);
    color: var(--bm-link);
    font: 11px/1.3 var(--bm-font);
    text-decoration: none;
}

#pun #profile-left a[href*="profile.php"][href*="section="]::after,
#pun #profile-left #pa-edit a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        110deg, transparent 25%, #ffffff30 50%, transparent 75%
    );
    transform: translateX(-120%);
    transition: transform .6s ease;
    pointer-events: none;
}

#pun #profile-left a[href*="profile.php"][href*="section="]:hover::after,
#pun #profile-left #pa-edit a:hover::after {
    transform: translateX(120%);
}

html[data-bm-motion="off"] #pun #profile-left #pa-online::before {
    animation: none;
}

@media (prefers-reduced-motion: reduce) {
    #pun #profile-left #pa-online::before {
        animation: none;
    }
}

#pun #viewprofile #profile-left {
    position: relative;
}

#pun #profile-left #pa-online {
    position: absolute !important;
    top: 9px;
    right: 9px;
    display: block !important;
    width: 18px;
    height: 18px;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

#pun #profile-left #pa-online > * {
    display: none !important;
}

#pun #profile-left #pa-online::before {
    width: 18px;
    height: 18px;
    margin: 0;
}

/* Ник: капсом, шрифт блока автора, подложка */
#pun #viewprofile #profile-left > li:first-child,
#pun #viewprofile #profile-left > ul > li:first-child {
    display: table !important;
    width: fit-content !important;
    max-width: calc(100% - 36px);
    box-sizing: border-box;
    margin: 2px auto 6px !important;
    padding: 5px 12px 3px !important;
    border: 1px solid var(--bm-line);
    border-radius: 6px;
    background: #263640 !important;
    color: #d5dfe5 !important;
    font: 400 26px/1.1 var(--bm-display, "Arial Narrow", sans-serif) !important;
    letter-spacing: .06em;
    text-transform: uppercase !important;
}

#pun #profile-left > li:first-child *,
#pun #profile-left > ul > li:first-child * {
    font: inherit !important;
    color: inherit !important;
    letter-spacing: inherit;
    text-transform: uppercase !important;
}

html[data-bm-theme="light"]
#pun #profile-left > li:first-child,
html[data-bm-theme="light"]
#pun #profile-left > ul > li:first-child {
    background: #e3ebf1 !important;
    color: #354955 !important;
}

/* Правая колонка — мягкая общая карточка */
#pun #viewprofile #profile-right {
    box-sizing: border-box;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--bm-line);
    border-radius: 12px;
    background:
        radial-gradient(
            ellipse at top right,
            var(--bm-glow),
            transparent 65%
        ),
        var(--bm-panel);
    box-shadow: 0 5px 18px var(--bm-shadow);
}

/* Отдельные поля */
#pun #viewprofile #profile-right > li {
    box-sizing: border-box;
    min-width: 0;
    margin: 0;
    padding: 11px 12px;
    gap: 5px;
    border: 1px solid var(--bm-line);
    border-radius: 8px;
    background: var(--bm-paper);
    color: var(--bm-text);
    box-shadow: 0 2px 7px var(--bm-shadow);
}

/* Светлая тема — холодный белый, без желтизны */
html[data-bm-theme="light"]
#pun #viewprofile #profile-right {
    background:
        radial-gradient(
            ellipse at top right,
            #dcebf466,
            transparent 65%
        ),
        #f3f6f9;
}

html[data-bm-theme="light"]
#pun #viewprofile #profile-right > li {
    background: #f8fafc;
    border-color: #d9e2e9;
    box-shadow: 0 2px 7px #344b5806;
}

/* Подложка ника — шире, цвет зависит от темы */
#pun #viewprofile #profile-left > li:first-child,
#pun #viewprofile #profile-left > ul > li:first-child {
    display: block !important;
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin: 4px auto 6px !important;
    padding: 7px 10px 5px !important;
    background: #263640 !important;
    color: #d5dfe5 !important;
    text-align: center;
    transition: background-color .25s, color .25s;
}

html[data-bm-theme="light"]
#pun #viewprofile #profile-left > li:first-child,
html[data-bm-theme="light"]
#pun #viewprofile #profile-left > ul > li:first-child {
    background: #e3ebf1 !important;
    color: #354955 !important;
}

/* Плашка: сохраняем картинку, обеспечиваем читаемость */
#pun #viewprofile #profile-right .plsh {
    box-sizing: border-box;
    padding: 9px 12px;
    border-radius: 7px;
    background-color: #182229;
    background-position: center;
    background-size: cover;
    box-shadow: inset 0 0 0 100vmax #08111855;
    color: #edf2f5 !important;
    text-align: center;
    text-shadow: 0 1px 3px #000;
}

#pun #viewprofile #profile-right .plsh :is(b, p, span, a) {
    color: #edf2f5 !important;
}

#pun #viewprofile #profile-right .plsh p {
    margin: 3px 0 0;
}

/* Подпись: небольшой отступ и угасающая линия */
#pun .post-sig {
    position: relative;
    margin-top: 16px !important;
    padding-top: 12px !important;
    border-top: 0 !important;
}

#pun .post-sig::before {
    content: "";
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        var(--bm-line) 30%,
        var(--bm-line) 70%,
        transparent
    );
    opacity: .65;
    pointer-events: none;
}

#pun .post-sig > dt {
    display: none !important;
}

#pun .post-sig > dd {
    margin: 0;
    padding: 0;
    border: 0;
}