/* BETWEEN MOONRISES 3.8 — îñíîâíîé ñòèëü */
: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:228px;
	--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:4px;
}
#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:1px solid var(--bm-line);
}
#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 .bm-presence {
	display:inline-flex;
	color:var(--bm-muted);
}
#pun .bm-presence.is-online {
	color:var(--bm-online);
}
#pun .bm-presence .bm-icon {
	width:15px;
	height:15px;
}
#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:190px;
	--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%,#fff9e766,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; }