/* DPChallenge v2 theme — opt-in preview. All rules scoped under body.theme-v2. */

body.theme-v2 {
	--dpc-blue: #003664;
	--dpc-blue-mid: #5279A0;
	--dpc-blue-bar: #63748F;
	--dpc-bg: #EEF1F5;
	--dpc-surface: #FAF9F5;
	--dpc-border: #9AA4B1;
	--dpc-text: #1F2733;
	--dpc-text-muted: #5B6675;
	--dpc-radius: 6px;
	--dpc-shadow: 0 1px 3px rgba(15, 30, 50, .14);
	--dpc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	background: var(--dpc-bg);
	color: var(--dpc-text);
	font-family: var(--dpc-font);
	font-size: 14px;
	line-height: 1.5;
}

body.theme-dark {
	--dpc-blue: #8DC5ED;
	--dpc-blue-mid: #B9DAF0;
	--dpc-blue-bar: #31526E;
	--dpc-bg: #263238;
	--dpc-surface: #202830;
	--dpc-border: #526475;
	--dpc-text: #E7EDF2;
	--dpc-text-muted: #B6C2CD;
	--dpc-shadow: 0 2px 6px rgba(0, 0, 0, .35);
	color-scheme: dark;
}

/* ---------- base typography ---------- */

body.theme-v2,
body.theme-v2 table,
body.theme-v2 font {
	font-family: var(--dpc-font);
}

body.theme-v2 table { font-size: 14px; color: var(--dpc-text); }
body.theme-v2 .textsm { font-size: 13px; color: inherit; }
body.theme-v2 .textsmi { font-size: 13px; font-style: italic; color: inherit; }
body.theme-v2 .textsm2 { font-size: 12px; color: var(--dpc-text-muted); }

body.theme-v2 .heading { font-size: 22px; font-weight: 700; color: var(--dpc-blue); letter-spacing: -.01em; }
body.theme-v2 .imagetitle { font-size: 19px; font-weight: 700; }

body.theme-v2 ul,
body.theme-v2 ol { margin: 8px 0; padding-left: 32px; }
/* covers <li> markup used without a wrapping <ul>/<ol> */
body.theme-v2 li { margin-left: 20px; }

body.theme-v2 hr { border: none; border-top: 1px solid var(--dpc-border); margin: 14px 0; }

/* ---------- header ---------- */

body.theme-v2 .dpc-header {
	background: var(--dpc-blue);
	border-bottom: 3px solid var(--dpc-blue-mid);
	position: relative;
}
body.theme-v2 .dpc-header td { padding: 8px 12px; }
body.theme-v2 .dpc-header tr:first-child td { padding-top: 0; padding-bottom: 0; }
body.theme-v2 .dpc-header .dpc-account {
	min-height: 0;
	overflow: hidden;
	padding: 0 12px;
	text-overflow: ellipsis;
	text-align: right;
	vertical-align: top;
	white-space: normal;
}
body.theme-v2 .dpc-header tr:nth-child(2) { display: none; }
body.theme-v2 .dpc-header,
body.theme-v2 .dpc-header .textsm { color: #D7E2EE; font-size: 13px; }
body.theme-v2 .dpc-header .dpc-account {
	vertical-align: top;
}
body.theme-v2 .dpc-header a:link,
body.theme-v2 .dpc-header a:visited { color: #FFFFFF; font-weight: 600; }
body.theme-v2 .dpc-header a:hover { color: #B9CBDD; }

/* ---------- layout ---------- */

body.theme-v2 .dpc-layout { width: 100%; max-width: 1400px; margin: 14px auto 0 auto; }
body.theme-v2 .dpc-layout > tbody > tr > td { padding: 0 10px; }

body.theme-v2 .dpc-sidebar { width: 200px; white-space: normal; vertical-align: top; }
body.theme-v2 .dpc-sidebar-toggle { display: none; }
body.theme-v2 .dpc-sidebar-content { padding-left: 6px; width: 100%; }

body.theme-v2 .dpc-content {
	background: var(--dpc-surface);
	border: 1px solid var(--dpc-border);
	border-radius: var(--dpc-radius);
	box-shadow: var(--dpc-shadow);
	max-width: calc(100vw - 240px);
	min-width: 0;
	overflow-x: auto;
	padding: 16px;
	vertical-align: top;
}
body.theme-v2 .dpc-content img { max-width: 100%; height: auto; }

/* ---------- sidebar boxes ---------- */

body.theme-v2 .dpc-leftbox {
	background: var(--dpc-surface);
	border: 1px solid var(--dpc-border);
	border-collapse: separate;
	border-radius: var(--dpc-radius);
	box-shadow: var(--dpc-shadow);
	margin: 0 0 14px 0;
	width: 100%;
	overflow: hidden;
}
body.theme-v2 .dpc-leftbox-head {
	background: var(--dpc-blue-bar);
	color: #FFFFFF;
	font-size: 12px;
	letter-spacing: .04em;
	position: relative;
	text-transform: uppercase;
	padding: 7px 10px;
}
body.theme-v2 .dpc-leftbox-head a:link,
body.theme-v2 .dpc-leftbox-head a:visited,
body.theme-v2 .dpc-leftbox-head a:hover,
body.theme-v2 .dpc-leftbox-head a:active {
	color: #FFFFFF;
	text-decoration: none;
}
body.theme-v2 .dpc-leftbox-body { padding: 8px 10px; }
body.theme-v2 .dpc-leftbox-title { padding-right: 28px; }
body.theme-v2 .dpc-leftbox-toggle { display: none; }

/* ---------- section dividers ---------- */

body.theme-v2 .divider {
	background: var(--dpc-blue-bar);
	border: none;
	border-left: 4px solid var(--dpc-blue-bar);
	border-radius: 3px;
	color: #FFFFFF;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .03em;
	padding: 6px 10px;
	margin: 12px 0 8px;
}
body.theme-v2 .divider a:link,
body.theme-v2 .divider a:visited { color: #FFFFFF; }
body.theme-v2 .divider a:hover { color: #D7E2EE; }
body.theme-v2 .divider_container { display: block; margin: 0 0 14px 0; min-width: 0; }

/* ---------- tables ---------- */

body.theme-v2 table { border-collapse: collapse; }
body.theme-v2 table[bgcolor] { background: var(--dpc-surface); }

body.theme-v2 .tableheading { background: var(--dpc-blue-bar); color: #FFFFFF; font-weight: 600; }
body.theme-v2 .tableheading td { border: 1px solid var(--dpc-blue-bar); padding: 6px 8px; }
body.theme-v2 .tablerow1 { background: var(--dpc-surface); }
body.theme-v2 .tablerow2 { background: #F2F4F1; }
body.theme-v2 .tablerow1 td, body.theme-v2 .tablerow2 td {
	border: 1px solid var(--dpc-border);
	padding: 5px 8px;
}
body.theme-v2 .tablehidden { background: #F3DCDC; color: var(--dpc-text); }

/* ---------- forums ---------- */

body.theme-v2 .forum-superheading { background: var(--dpc-blue); color: #FFFFFF; font-weight: 600; }
body.theme-v2 td.forum-superheading,
body.theme-v2 .forum-superheading td { border: 1px solid var(--dpc-blue); padding: 5px 8px; }
body.theme-v2 .forum-heading { background: var(--dpc-blue-bar); color: #FFFFFF; font-weight: 600; }
body.theme-v2 td.forum-heading,
body.theme-v2 .forum-heading td { border: 1px solid var(--dpc-blue-bar); padding: 5px 8px; }
body.theme-v2 .forum-bg1 { background: #faf9f5; }
body.theme-v2 .forum-bg2 { background: #e5edf7; }
body.theme-v2 td.forum-bg1,
body.theme-v2 td.forum-bg2,
body.theme-v2 td.forum-bg_flag1,
body.theme-v2 td.forum-bg_flag2,
body.theme-v2 tr.forum-bg1 > td,
body.theme-v2 tr.forum-bg2 > td,
body.theme-v2 tr.forum-bg_flag1 > td,
body.theme-v2 tr.forum-bg_flag2 > td { border: 1px solid var(--dpc-border); padding: 4px 8px; }
body.theme-v2 .forum-bg1 a:hover,
body.theme-v2 .forum-bg2 a:hover { text-decoration: none; }
body.theme-v2 .forum-bg_flag1 { background: #f5d4d4; }
body.theme-v2 .forum-bg_flag2 { background: #c6e3c6; }
body.theme-v2 .dpc-forum-thread { table-layout: fixed; }
body.theme-v2 .dpc-winning-entries,
body.theme-v2 .dpc-profile-thumbnail-grid,
body.theme-v2 .dpc-thumbnail-grid { table-layout: fixed; }
body.theme-v2 .dpc-winning-entries > tbody > tr > td,
body.theme-v2 .dpc-thumbnail-grid > tbody > tr > td {
	font-size: 11px;
	line-height: 1.1;
	vertical-align: top;
	word-break: normal;
}
body.theme-v2 .dpc-profile-thumbnail-grid > tbody > tr > td {
	font-size: 9px;
	vertical-align: top;
	word-break: normal;
}
body.theme-v2 .dpc-profile-thumbnail-grid > tbody > tr > td > a,
body.theme-v2 .dpc-thumbnail-grid > tbody > tr > td > a.i {
	display: block;
	font-size: 11px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: pre-line;
}
body.theme-v2 .dpc-winning-entries > tbody > tr > td + td,
body.theme-v2 .dpc-profile-thumbnail-grid > tbody > tr > td + td,
body.theme-v2 .dpc-thumbnail-grid > tbody > tr > td + td { padding-left: 6px; }
body.theme-v2 .dpc-winning-entry-author { font-style: italic; }
body.theme-v2 .dpc-winning-entry-image,
body.theme-v2 .dpc-thumbnail-image {
	display: block;
	height: 118px;
	position: relative;
	width: 100%;
}
body.theme-v2 .dpc-winning-entry-image img,
body.theme-v2 .dpc-thumbnail-image img {
	bottom: 0;
	display: block;
	left: 50%;
	margin: 0 !important;
	max-height: 120px;
	max-width: 100%;
	position: absolute;
	transform: translateX(-50%);
}
body.theme-v2 .dpc-vote-thumbnail-cell { vertical-align: top; }
body.theme-v2 .dpc-vote-thumbnail-grid {
	display: grid;
	gap: 12px 6px;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	width: 100%;
}
body.theme-v2 .dpc-vote-thumbnail-grid > tbody,
body.theme-v2 .dpc-vote-thumbnail-grid > tbody > tr { display: contents; }
body.theme-v2 .dpc-vote-thumbnail-grid .dpc-vote-thumbnail-cell {
	box-sizing: border-box;
	height: auto !important;
	width: auto !important;
}
body.theme-v2 .dpc-vote-thumbnail-grid td[height="20"] { display: none; }
body.theme-v2 .dpc-vote-thumbnail-image {
	display: inline-block;
	height: 120px;
	position: relative;
	width: 120px;
}
body.theme-v2 .dpc-vote-thumbnail-image img {
	bottom: 0;
	left: 50%;
	margin: 0 !important;
	max-height: 120px;
	max-width: 120px;
	position: absolute;
	transform: translateX(-50%);
}
body.theme-v2 .dpc-orientation-paginated-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, 100px);
	gap: 6px;
	justify-content: start;
	width: 100% !important;
}
body.theme-v2 .dpc-orientation-paginated-grid > tbody,
body.theme-v2 .dpc-orientation-paginated-grid > tbody > tr { display: contents; }
body.theme-v2 .dpc-orientation-paginated-grid > tbody > tr > td {
	box-sizing: border-box;
	padding: 3px;
	width: 100px !important;
}
body.theme-v2 .dpc-league-match-entry {
	height: auto !important;
	min-height: 200px;
}
body.theme-v2 .dpc-forum-author {
	box-sizing: border-box;
	padding: 4px !important;
	width: 108px !important;
	white-space: normal;
}
body.theme-v2 .dpc-forum-author .forumpic img { max-width: 52px; height: auto; }
body.theme-v2 .dpc-forum-author .forumpic img {
	border-radius: 3px;
	box-shadow: 0 4px 10px rgba(15, 30, 50, .28);
	transition: box-shadow .16s ease, transform .16s ease;
}
body.theme-v2 .dpc-forum-author .forumpic:hover img {
	box-shadow: 0 12px 26px rgba(15, 30, 50, .58);
	transform: translateY(-2px) scale(1.035);
}
body.theme-v2 .dpc-forum-author-details,
body.theme-v2 .dpc-forum-author .forumcam {
	max-width: 98px;
	width: auto !important;
	overflow-wrap: anywhere;
}
body.theme-v2 .dpc-forum-message { min-width: 0; overflow-wrap: anywhere; }
body.theme-v2 .favorites-navigation-form { margin-top: 8px; }
body.theme-v2 .dpc-forum-actions { white-space: nowrap; }
body.theme-v2 .dpc-forum-action-select { float: right; margin-left: 6px; max-width: 160px; }
body.theme-v2 .dpc-legacy-forum-actions { display: none; }
body.theme-v2 .dpc-thread-actions {
	align-items: center;
	display: inline-flex;
	gap: 6px;
	padding-top: 4px;
}
body.theme-v2 .dpc-thread-actions input[type="submit"] { padding: 5px 10px; }
body.theme-v2 .dpc-page-index { clear: both; display: table; font-size: 13px; }
body.theme-v2 .dpc-page-index td { padding: 0 2px; white-space: nowrap; }
body.theme-v2 .dpc-page-index a,
body.theme-v2 .dpc-page-index span { display: inline-block; padding: 1px 3px; text-align: center; }
body.theme-v2 .dpc-page-index .dpc-page-disabled { color: var(--dpc-text-muted); opacity: .45; }
body.theme-v2 .dpc-page-index .dpc-page-current { background: var(--dpc-blue); border-radius: 3px; color: #FFFFFF; font-weight: 600; }

@media (max-width: 768px) {
	body.theme-v2 .dpc-forum-page-row,
	body.theme-v2 .dpc-forum-page-row > td { display: block; width: 100% !important; box-sizing: border-box; }
	body.theme-v2 .dpc-forum-pagination,
	body.theme-v2 .dpc-forum-pagination > tbody,
	body.theme-v2 .dpc-forum-pagination > tbody > tr,
	body.theme-v2 .dpc-forum-pagination > tbody > tr > td { display: block; width: 100% !important; box-sizing: border-box; }
	body.theme-v2 .dpc-forum-page-row > td + td { padding-top: 6px; text-align: left !important; }
	body.theme-v2 .dpc-forum-action-select { display: block; float: right; margin-left: 0; margin-top: 4px; max-width: 100%; }
	body.theme-v2 .dpc-thread-actions { flex-wrap: wrap; }
	body.theme-v2 .dpc-thread-actions #FLAG_RENAME { max-width: 100%; }
	body.theme-v2 .dpc-image-information,
	body.theme-v2 .dpc-vote-breakdown {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		width: 100% !important;
	}
	body.theme-v2 .dpc-image-information > tbody,
	body.theme-v2 .dpc-vote-breakdown > tbody,
	body.theme-v2 .dpc-image-information > tbody > tr,
	body.theme-v2 .dpc-vote-breakdown > tbody > tr { display: contents; }
	body.theme-v2 .dpc-image-information td,
	body.theme-v2 .dpc-vote-breakdown td {
		box-sizing: border-box;
		width: 100% !important;
	}
	body.theme-v2 .dpc-image-information > tbody > tr > td,
	body.theme-v2 .dpc-vote-breakdown > tbody > tr > td { min-width: 0; }
	body.theme-v2 .dpc-image-information > tbody > tr > .dpc-detail-primary-content,
	body.theme-v2 .dpc-image-information > tbody > tr > .dpc-detail-secondary-content,
	body.theme-v2 .dpc-vote-breakdown > tbody > tr > .dpc-detail-primary-content {
		overflow-wrap: anywhere;
	}
	body.theme-v2 .dpc-detail-primary-heading { order: 1; }
	body.theme-v2 .dpc-detail-primary-content { order: 2; }
	body.theme-v2 .dpc-detail-secondary-heading { order: 3; }
	body.theme-v2 .dpc-detail-secondary-content { order: 4; }
	body.theme-v2 .dpc-detail-primary-heading,
	body.theme-v2 .dpc-detail-secondary-heading {
		background: var(--dpc-blue-bar);
		color: #FFFFFF;
	}
}
body.theme-v2 .dpc-page-index { clear: both; display: table; font-size: 13px; }
body.theme-v2 .dpc-page-index td { padding: 0 2px; white-space: nowrap; }
body.theme-v2 .dpc-page-index a,
body.theme-v2 .dpc-page-index span {
	display: inline-block;
	min-width: 0;
	padding: 1px 3px;
	text-align: center;
}
body.theme-v2 .dpc-page-index a {
	background: var(--dpc-surface);
	border: 1px solid var(--dpc-border);
	border-radius: 3px;
}
body.theme-v2 .dpc-page-index a:hover {
	background: #EAF1F8;
	border-color: var(--dpc-blue-mid);
}
body.theme-v2 .dpc-page-index .dpc-page-disabled {
	background: transparent;
	border: 1px solid transparent;
	color: var(--dpc-text-muted);
	opacity: .45;
}
body.theme-v2 .dpc-page-index .dpc-page-current {
	background: var(--dpc-blue);
	border: 1px solid var(--dpc-blue);
	border-radius: 3px;
	color: #FFFFFF;
	font-weight: 600;
}
@media (max-width: 768px) {
	body.theme-v2 .dpc-page-index {
		clear: both;
		display: table;
		margin-top: 6px;
	}
}
body.theme-v2 .div_moz_hack {
	float: none !important;
	margin-right: 0 !important;
	width: 100% !important;
}

/* ---------- status / alerts ---------- */

body.theme-v2 .status {
	background: #EAF1F8;
	border: 1px solid #B9C8D8;
	border-radius: var(--dpc-radius);
	padding: 10px 12px;
	width: auto;
}
body.theme-v2 .status_error {
	background: #FDECEC;
	border: 1px solid #E5B5B5;
	border-radius: var(--dpc-radius);
	padding: 10px 12px;
	width: auto;
}
body.theme-v2 .error { color: #B3261E; }

/* ---------- forms ---------- */

body.theme-v2 input[type="text"],
body.theme-v2 input[type="password"],
body.theme-v2 input[type="email"],
body.theme-v2 select,
body.theme-v2 textarea,
body.theme-v2 .left-input,
body.theme-v2 .form-generic {
	background: #FFFFFF;
	border: 1px solid var(--dpc-border);
	border-radius: 4px;
	color: var(--dpc-text);
	font-family: var(--dpc-font);
	font-size: 13px;
	padding: 5px 8px;
}
body.theme-v2 input[type="text"]:focus,
body.theme-v2 input[type="password"]:focus,
body.theme-v2 select:focus,
body.theme-v2 textarea:focus {
	border-color: var(--dpc-blue-mid);
	box-shadow: 0 0 0 2px rgba(82, 121, 160, .25);
	outline: none;
}

body.theme-v2 input[type="submit"],
body.theme-v2 input[type="button"],
body.theme-v2 button,
body.theme-v2 .left-submit {
	background: var(--dpc-blue);
	border: none;
	border-radius: 4px;
	color: #FFFFFF;
	cursor: pointer;
	font-family: var(--dpc-font);
	font-size: 13px;
	font-weight: 600;
	padding: 6px 14px;
}
body.theme-v2 input[type="submit"]:hover,
body.theme-v2 input[type="button"]:hover,
body.theme-v2 button:hover { background: var(--dpc-blue-mid); }
body.theme-v2 input[type="submit"][disabled],
body.theme-v2 button[disabled] { background: #9AA7B4; cursor: default; }

/* ---------- links & voting ---------- */

body.theme-v2 a:link { color: var(--dpc-blue); font-weight: normal; }
body.theme-v2 a:visited { color: var(--dpc-blue); font-weight: normal; }
body.theme-v2 a:hover { color: var(--dpc-blue-mid); font-weight: normal; text-decoration: none; }
body.theme-v2 a:active { font-weight: normal; }

body.theme-v2 a.f:link, body.theme-v2 a.f:visited, body.theme-v2 a.f:hover, body.theme-v2 a.f:active,
body.theme-v2 a.v:link, body.theme-v2 a.v:visited, body.theme-v2 a.v:hover, body.theme-v2 a.v:active,
body.theme-v2 a.fo:link, body.theme-v2 a.fo:visited, body.theme-v2 a.fo:hover, body.theme-v2 a.fo:active {
	font-weight: normal;
}

body.theme-v2 .vs,
body.theme-v2 a.vs:link, body.theme-v2 a.vs:visited, body.theme-v2 a.vs:hover, body.theme-v2 a.vs:active {
	border: 1px solid var(--dpc-border); border-radius: 3px; padding: 1px 5px;
}
body.theme-v2 .vsu,
body.theme-v2 a.vsu:link, body.theme-v2 a.vsu:visited, body.theme-v2 a.vsu:hover, body.theme-v2 a.vsu:active {
	border: 1px solid #2E7D32; border-radius: 3px; padding: 1px 5px;
}
body.theme-v2 .vsd,
body.theme-v2 a.vsd:link, body.theme-v2 a.vsd:visited, body.theme-v2 a.vsd:hover, body.theme-v2 a.vsd:active {
	border: 1px solid #B3261E; border-radius: 3px; padding: 1px 5px;
}

/* ---------- vote breakdown bars ---------- */

body.theme-v2 .breakdown_vote_bar { border: 1px solid var(--dpc-border); border-radius: 2px; }

body.theme-v2 .dpc-vote-breakdown { width: 100%; max-width: 750px; }
body.theme-v2 .dpc-vote-chart { width: 100%; max-width: 450px; }
body.theme-v2 .dpc-vote-chart-row {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 4px;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}
body.theme-v2 .dpc-vote-chart-row > .breakdown_vote,
body.theme-v2 .dpc-vote-chart-row > .breakdown_vote_bar,
body.theme-v2 .dpc-vote-chart-row > .breakdown_vote_count {
	box-sizing: border-box;
	flex: none;
	float: none;
	margin: 0;
}
body.theme-v2 .dpc-vote-chart-row > .breakdown_vote { width: 24px; }
body.theme-v2 .dpc-vote-chart-row > .breakdown_vote_bar {
	/* Use the same scale for every row, leaving room for the longest count. */
	min-width: 5px;
	width: calc((100% - 24px - 8px - var(--dpc-vote-count-width)) * var(--dpc-vote-bar-scale)) !important;
}
body.theme-v2 .dpc-vote-chart-row > .breakdown_vote_count { white-space: nowrap; }

/* ---------- images & thumbnails ---------- */

body.theme-v2 .page-image img,
body.theme-v2 a.i img {
	border: none;
	border-radius: 3px;
	box-shadow: 0 4px 10px rgba(15, 30, 50, .28);
	transition: box-shadow .16s ease, transform .16s ease;
}
body.theme-v2 a[href*="image.php?IMAGE_ID="] img {
	box-shadow: 0 4px 10px rgba(15, 30, 50, .28);
	transition: box-shadow .16s ease, transform .16s ease;
}
body.theme-v2 a.i:hover img,
body.theme-v2 a[href*="image.php?IMAGE_ID="]:hover img {
	box-shadow: 0 12px 26px rgba(15, 30, 50, .58);
	transform: translateY(-2px) scale(1.015);
}
body.theme-v2 .dpc-thumbnail-image a:hover img,
body.theme-v2 .dpc-winning-entry-image a:hover img,
body.theme-v2 a.i:hover .dpc-vote-thumbnail-image img {
	transform: translateX(-50%) scale(1.02);
}
body.theme-v2 img[src*="images_team_logos/"] {
	border-radius: 3px;
	box-shadow: 0 4px 10px rgba(15, 30, 50, .28);
	transition: box-shadow .16s ease, transform .16s ease;
}
body.theme-v2 a:hover img[src*="images_team_logos/"] {
	box-shadow: 0 12px 26px rgba(15, 30, 50, .58);
	transform: translateY(-2px) scale(1.015);
}

/* Keep the legacy width=100% details cell from squeezing the thumbnail column. */
body.theme-v2 .dpc-challenge-results .dpc-result-thumb {
	min-width: 160px;
	width: 160px;
}
body.theme-v2 .dpc-challenge-results .dpc-result-thumb img {
	height: auto;
	max-width: 160px;
}

/* ---------- top 10 grid ---------- */

body.theme-v2 .dpc-top-ten { table-layout: fixed; }
body.theme-v2 .dpc-top-ten > tbody > tr > td {
	box-sizing: border-box;
	padding: 0 10px;
	vertical-align: top;
	width: 50%;
}
body.theme-v2 .dpc-top-ten > tbody > tr > td:first-child { padding-left: 0; }
body.theme-v2 .dpc-top-ten > tbody > tr > td:last-child { padding-right: 0; }
body.theme-v2 .dpc-top-ten .divider:first-child { margin-top: 0; }

/* Private messaging compose/reply box: cap to the available width. The
   wrapping table must have a definite width or the textarea's percentage
   width cannot resolve (shrink-to-fit table). */
body.theme-v2 .dpc-message-compose { width: 100%; }
body.theme-v2 .dpc-message-body {
	box-sizing: border-box;
	max-width: 600px;
	width: 100% !important;
}
/* Recipient chips: keep avatar/username/remove icon on one line. */
body.theme-v2 #message_info > tbody > tr > td > span[style*="padding-right"] {
	display: inline-block;
	white-space: nowrap;
}

/* Keep the author/From column from squeezing the message text. */
body.theme-v2 .dpc-message-thread { table-layout: fixed; }
body.theme-v2 .dpc-message-thread > tbody > tr > td:first-child {
	box-sizing: border-box;
	overflow-wrap: anywhere;
	width: 100px !important;
}
body.theme-v2 .dpc-message-thread > tbody > tr > td:first-child > div {
	float: none;
	margin: 3px 0;
	text-align: left;
	width: auto;
}

/* Message actions: collapse the plain links into a dropdown. */
body.theme-v2 .dpc-msg-actions { float: right; margin: 0 5px 5px 5px; position: relative; }
body.theme-v2 .dpc-msg-links { display: none; }
body.theme-v2 .dpc-msg-menu { display: inline-block; position: relative; }
body.theme-v2 .dpc-msg-menu > summary {
	background: var(--dpc-surface);
	border: 1px solid var(--dpc-border);
	border-radius: var(--dpc-radius);
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	padding: 3px 10px;
	user-select: none;
}
body.theme-v2 .dpc-msg-menu > summary::-webkit-details-marker { display: none; }
body.theme-v2 .dpc-msg-menu[open] > summary { border-color: var(--dpc-blue-mid); }
body.theme-v2 .dpc-msg-menu-list {
	background: var(--dpc-surface);
	border: 1px solid var(--dpc-border);
	border-radius: var(--dpc-radius);
	box-shadow: var(--dpc-shadow);
	min-width: 140px;
	padding: 4px 0;
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 30;
}
body.theme-v2 .dpc-msg-menu-list a {
	display: block;
	padding: 5px 12px;
	text-decoration: none;
	white-space: nowrap;
}
body.theme-v2 .dpc-msg-menu-list a:hover { background: rgba(82, 121, 160, .12); }

/* DPL quick links / admin links: dropdown instead of a tall leftbox. */
body.theme-v2 .dpc-dpl-menu { margin: 0 0 14px 0; }
body.theme-v2 .dpc-dpl-menu > summary {
	background: var(--dpc-blue-bar);
	border-radius: var(--dpc-radius);
	color: #FFFFFF;
	cursor: pointer;
	font-size: 12px;
	letter-spacing: .04em;
	list-style: none;
	padding: 7px 10px;
	text-transform: uppercase;
	user-select: none;
}
body.theme-v2 .dpc-dpl-menu > summary::-webkit-details-marker { display: none; }
body.theme-v2 .dpc-dpl-menu-admin > summary { background: #8f525c; }
body.theme-v2 .dpc-dpl-menu-body {
	background: var(--dpc-surface);
	border: 1px solid var(--dpc-border);
	border-top: 0;
	border-radius: 0 0 var(--dpc-radius) var(--dpc-radius);
	box-shadow: var(--dpc-shadow);
	max-height: 60vh;
	overflow-y: auto;
	padding: 8px 10px;
}
body.theme-v2 .dpc-dpl-menu-body li { list-style: none; margin: 0 0 2px 0; }
body.theme-v2 .dpc-dpl-menu-body b { display: block; margin: 10px 0 4px 0; }
body.theme-v2 .dpc-dpl-menu-body b:first-child { margin-top: 0; }

/* Message pagination row: replace the legacy floats with a flex row. */
body.theme-v2 .dpc-msg-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	justify-content: space-between;
	margin: 6px 0;
}
body.theme-v2 .dpc-msg-pagination > div { float: none; }

/* Favorites manager: let the fixed-width tables shrink to the device. */
body.theme-v2 .dpc-favorites-table {
	box-sizing: border-box;
	margin-left: 0 !important;
	max-width: 100%;
	width: 100% !important;
}
body.theme-v2 .dpc-favorites-table select,
body.theme-v2 .dpc-favorites-table input { box-sizing: border-box; max-width: 100%; }

/* Challenge submit: entry thumbnail only on narrow modern viewports. */
body.theme-v2 .dpc-submit-entry-thumb { display: none; }
@media (max-width: 768px) {
	body.theme-v2 .dpc-submit-entry-thumb {
		display: block;
		margin: 0 0 10px;
		text-align: center;
	}
}

/* Challenge submit: sidebar should match Home's leftbox width, and its
   thumbnail must not stretch the box. Fixed layout makes the column
   widths hard constraints instead of content-driven hints. */
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-layout { table-layout: fixed; }
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-sidebar { width: 172px !important; }
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-sidebar-content { overflow-wrap: anywhere; }
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-leftbox,
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-leftbox img {
	box-sizing: border-box;
	max-width: 100%;
}
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-leftbox img { height: auto; }

/* Challenge submit: keep the legacy fixed-width layout inside the content card. */
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content table {
	box-sizing: border-box;
	max-width: 100%;
}
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content td[width="400"] {
	max-width: 45vw;
	width: auto !important;
}
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content div[style*="width: 450px"],
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content div[style*="width: 375px"],
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content table[style*="width: 520px"] {
	max-width: 100%;
	width: 100% !important;
}
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content input[type="text"],
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content select,
body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content textarea {
	box-sizing: border-box;
	max-width: 100%;
}
@media (max-width: 768px) {
	/* Stack the challenge/entry tables and their label+value pairs. */
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content table,
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content tbody,
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content tr,
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content td {
		display: block;
		width: 100% !important;
	}
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content td[align="right"] {
		padding-top: 6px;
		text-align: left;
	}
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content td[width="400"] { max-width: none; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content input[type="text"],
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content textarea { width: 100%; }
	/* Selects are compact by default; only the Exposure Date ones share a line. */
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content select {
		box-sizing: border-box;
		max-width: 100%;
		width: 100%;
	}
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content select[name="month"],
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content select[name="day"],
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content select[name="year"] {
		display: inline-block;
		max-width: 32%;
		width: auto;
	}
	/* Keep the agreement checkbox on the same line as its label. */
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content table:has(#agreement_check) { display: table; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content table:has(#agreement_check) tbody { display: table-row-group; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content table:has(#agreement_check) tr { display: table-row; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content table:has(#agreement_check) td {
		display: table-cell;
		width: auto !important;
	}
	/* Label + field on one row; camera table reordered to Camera, Lens, Aperture, ISO, Shutter. */
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-entry-meta-table > tbody,
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table > tbody {
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr);
		gap: 4px 8px;
		align-items: center;
	}
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-entry-meta-table > tbody > tr,
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table > tbody > tr { display: contents; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-entry-meta-table td,
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table td {
		padding: 0;
		width: auto !important;
	}
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-entry-meta-table td[align="right"],
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table td[align="right"] {
		text-align: right;
		white-space: nowrap;
	}
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-entry-meta-table td:only-child { grid-column: 1 / -1; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table > tbody > tr:nth-child(1) > td:nth-child(-n+2) { order: 1; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table > tbody > tr:nth-child(2) > td:nth-child(-n+2) { order: 2; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table > tbody > tr:nth-child(1) > td:nth-child(n+3) { order: 3; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table > tbody > tr:nth-child(2) > td:nth-child(n+3) { order: 4; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table > tbody > tr:nth-child(3) > td { order: 5; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content .dpc-camera-lens-table td[colspan] { display: none; }
	body.theme-v2:has(.dpc-submit-entry-thumb) .dpc-content #upload_container > div {
		float: none;
		margin: 0 0 8px !important;
	}
}

/* Challenge history: fixed layout gives the content column a hard width so the table scrolls. */
body.theme-v2 .dpc-history-scroll {
	/* Needs its own vertical scroll: overflow-x already makes it the sticky container. */
	max-height: calc(100vh - 80px);
	overflow: auto;
}
@media (min-width: 769px) {
	body.theme-v2 .dpc-layout:has(.dpc-history-scroll) { table-layout: fixed; }
}
/* Freeze the Challenge/Date column; row colours live on the <tr>, so inherit them. */
body.theme-v2 .dpc-history-scroll #challenges > tbody > tr > td:first-child {
	background: inherit;
	box-shadow: 2px 0 3px rgba(0, 0, 0, .15);
	left: 0;
	position: sticky;
	z-index: 1;
}
body.theme-v2 .dpc-history-scroll #challenges #heading > td {
	background: inherit;
	position: sticky;
	top: 0;
	z-index: 2;
}
body.theme-v2 .dpc-history-scroll #challenges #heading > td:first-child { z-index: 3; }

/* DPL season calendar: fluid instead of the page's fixed 900px. */
body.theme-v2 #calendar {
	max-width: 900px;
	width: 100%;
}
@media (max-width: 768px) {
	body.theme-v2 #calendar { font-size: 11px; }
	body.theme-v2 #calendar .fc-header-title h2 { font-size: 15px; margin: 0; }
	body.theme-v2 #calendar .fc-header .fc-state-default a,
	body.theme-v2 #calendar .fc-header .fc-state-default span { padding: 0 4px; }
	body.theme-v2 #calendar .fc-grid th { font-size: 10px; padding: 2px 0; }
	body.theme-v2 #calendar .fc-grid .fc-day-number { font-size: 10px; padding: 0 2px; }
	body.theme-v2 #calendar .fc-event a { font-size: 9px; line-height: 1.2; }
	body.theme-v2 #calendar .fc-event-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* Profile search: v2's global border-collapse drops the form's cellspacing. */
body.theme-v2 .dpc-profile-search-form {
	border-collapse: separate;
	border-spacing: 10px 6px;
}
body.theme-v2 .dpc-profile-search-table {
	box-sizing: border-box;
	margin-left: 0 !important;
	width: 100% !important;
}
/* Profile search: one label + field per row on narrow screens. */
@media (max-width: 768px) {
	body.theme-v2 .dpc-profile-search-form {
		border-spacing: 0;
		box-sizing: border-box;
		width: 100%;
	}
	body.theme-v2 form:has(> .dpc-profile-search-form) { margin-left: 0 !important; }
	body.theme-v2 .dpc-profile-search-form > tbody {
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr);
		gap: 6px 8px;
		align-items: center;
	}
	body.theme-v2 .dpc-profile-search-form > tbody > tr { display: contents; }
	body.theme-v2 .dpc-profile-search-form td { padding: 0; }
	body.theme-v2 .dpc-profile-search-form td[align="right"] { white-space: nowrap; }
	body.theme-v2 .dpc-profile-search-form input[type="text"]:not([name^="DATE"]),
	body.theme-v2 .dpc-profile-search-form select {
		box-sizing: border-box;
		max-width: 100%;
		width: 100% !important;
	}
}

/* Detailed top-50 view: flow thumbnails by their real width instead of
   forcing a fixed number of columns per row. */
body.theme-v2 .dpc-top-ten-detail-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, 124px);
	gap: 8px 6px;
	justify-content: start;
	width: 100% !important;
}
body.theme-v2 .dpc-top-ten-detail-grid > tbody,
body.theme-v2 .dpc-top-ten-detail-grid > tbody > tr { display: contents; }
body.theme-v2 .dpc-top-ten-detail-grid > tbody > tr > td {
	box-sizing: border-box;
	padding: 2px;
	text-align: center;
	vertical-align: top;
	width: 124px;
}
body.theme-v2 .dpc-top-ten-detail-grid .dpc-thumbnail-image { margin: 0 auto 3px; }

/* ---------- footer ---------- */

body.theme-v2 .dpc-footer {
	border-top: 1px solid var(--dpc-border);
	color: var(--dpc-text-muted);
	font-size: 12px;
	margin-top: 24px;
	padding: 14px 0 20px;
}
body.theme-v2 .dpc-footer a:link,
body.theme-v2 .dpc-footer a:visited { color: var(--dpc-text-muted); }
body.theme-v2 .dpc-footer a:hover { color: var(--dpc-blue); }

/* ---------- dark theme adjustments ---------- */

body.theme-dark .dpc-header,
body.theme-dark .forum-superheading { background: #0F3148; } 
body.theme-dark .dpc-header { border-bottom-color: #4B7898; }
body.theme-dark .forum-superheading td { border-color: #0F3148; }
body.theme-dark .tablerow2 { background: #29343D; }
body.theme-dark .tablehidden { background: #572E35; color: var(--dpc-text); }
body.theme-dark .forum-bg1 { background: var(--dpc-surface); }
body.theme-dark .forum-bg2 { background: #29343D; }
body.theme-dark .forum-bg_flag1 { background: #8f525c; }
body.theme-dark .forum-bg_flag2 { background: #3e7b5a; }
body.theme-dark .status { background: #21384B; border-color: #4E7592; }
body.theme-dark .status_error { background: #512D34; border-color: #8E5963; }
body.theme-dark input[type="text"],
body.theme-dark input[type="password"],
body.theme-dark input[type="email"],
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark .left-input,
body.theme-dark .form-generic { background: #182028; color: var(--dpc-text); }
body.theme-dark .page-image img,
body.theme-dark a.i img { box-shadow: 0 5px 16px rgba(0, 0, 0, .65); }

/* ---------- responsive ---------- */

@media (max-width: 768px) {
	/* Opt-in information panels: leave nested data/thumbnail tables alone. */
	body.theme-v2 .dpc-mobile-stack,
	body.theme-v2 .dpc-mobile-stack > tbody,
	body.theme-v2 .dpc-mobile-stack > tbody > tr,
	body.theme-v2 .dpc-mobile-stack > tbody > tr > td,
	body.theme-v2 .dpc-mobile-fields,
	body.theme-v2 .dpc-mobile-fields > tbody,
	body.theme-v2 .dpc-mobile-fields > tbody > tr,
	body.theme-v2 .dpc-mobile-fields > tbody > tr > td,
	body.theme-v2 .dpc-mobile-exposure,
	body.theme-v2 .dpc-mobile-exposure > tbody,
	body.theme-v2 .dpc-mobile-exposure > tbody > tr,
	body.theme-v2 .dpc-mobile-exposure > tbody > tr > td {
		box-sizing: border-box;
		display: block;
		min-width: 0;
		width: 100% !important;
		overflow-wrap: anywhere;
	}
	body.theme-v2 .dpc-mobile-stack > tbody > tr > td { padding-bottom: 12px; }
	body.theme-v2 .dpc-mobile-fields > tbody > tr { margin-bottom: 8px; }
	body.theme-v2 .dpc-mobile-fields > tbody > tr > td {
		text-align: left;
		white-space: normal;
	}
	body.theme-v2 .dpc-mobile-fields nobr { white-space: normal; }
	body.theme-v2 .dpc-mobile-stack > tbody > tr > .dpc-mobile-spacer,
	body.theme-v2 .dpc-mobile-fields > tbody > tr > .dpc-mobile-spacer,
	body.theme-v2 .dpc-mobile-exposure > tbody > tr > .dpc-mobile-spacer,
	body.theme-v2 .dpc-mobile-stack > tbody > tr:empty { display: none; }
	body.theme-v2 .dpc-top-ten .top100Link {
		display: block;
		margin: 6px 0 0;
	}
	body.theme-v2 .dpc-home-forum-tools table,
	body.theme-v2 .dpc-home-forum-tools table > tbody { display: block; max-width: 100%; }
	body.theme-v2 .dpc-home-forum-tools table > tbody > tr { display: flex; flex-wrap: wrap; align-items: center; }
	body.theme-v2 .dpc-home-forum-tools input { box-sizing: border-box; max-width: 100%; }
	body.theme-v2 .dpc-profile-summary > tbody > tr > td > table { max-width: 100%; }
	/* Keep results rows two-column (thumb left, text right) instead of stacking. */
	body.theme-v2 .dpc-challenge-results { font-size: 12px; }
	body.theme-v2 .dpc-challenge-results > tbody { display: table-row-group; }
	body.theme-v2 .dpc-challenge-results > tbody > tr { display: table-row; }
	body.theme-v2 .dpc-challenge-results > tbody > tr > td {
		display: table-cell;
		padding: 4px;
		width: auto !important;
	}
	body.theme-v2 .dpc-challenge-results .dpc-result-thumb {
		min-width: 0;
		text-align: center;
		vertical-align: middle;
		width: 126px !important;
	}
	body.theme-v2 .dpc-challenge-results .dpc-result-thumb img { max-width: 120px; }
	body.theme-v2 .dpc-challenge-results > tbody > .forum-bg1 { margin-bottom: 12px; }
	body.theme-v2 .dpc-portfolio-editor { margin-left: 0 !important; }
	body.theme-v2 .dpc-portfolio-editor table { max-width: 100%; }
	body.theme-v2 .dpc-portfolio-editor input,
	body.theme-v2 .dpc-portfolio-editor select,
	body.theme-v2 .dpc-portfolio-editor textarea,
	body.theme-v2 .dpc-portfolio-editor .dpc-editor-details {
		box-sizing: border-box;
		min-width: 0;
		max-width: 100%;
	}
	body.theme-v2 .dpc-portfolio-editor input[type="text"],
	body.theme-v2 .dpc-portfolio-editor input[type="file"],
	body.theme-v2 .dpc-portfolio-editor textarea,
	body.theme-v2 .dpc-portfolio-editor .dpc-editor-details { width: 100% !important; }
	body.theme-v2 .dpc-portfolio-editor select { margin-bottom: 4px; }
	/* Keep each field's label and control on the same line. */
	body.theme-v2 .dpc-portfolio-editor .dpc-mobile-fields { display: block; }
	body.theme-v2 .dpc-portfolio-editor .dpc-mobile-fields > tbody { display: block; }
	body.theme-v2 .dpc-portfolio-editor .dpc-mobile-fields > tbody > tr {
		align-items: flex-start;
		display: flex;
		gap: 8px;
		margin-bottom: 8px;
	}
	body.theme-v2 .dpc-portfolio-editor .dpc-mobile-fields > tbody > tr > td {
		display: block;
		padding: 2px 0;
		width: auto !important;
	}
	body.theme-v2 .dpc-portfolio-editor .dpc-mobile-fields > tbody > tr > td:first-child {
		flex: 0 0 90px;
		padding-top: 4px;
		text-align: right;
	}
	body.theme-v2 .dpc-portfolio-editor .dpc-mobile-fields > tbody > tr > td:last-child { flex: 1 1 auto; }
	body.theme-v2 .dpc-mobile-exposure > tbody > tr > td { text-align: left; padding: 0 0 4px; }
	body.theme-v2 .dpc-editor-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; }
	body.theme-v2 .dpc-editor-toolbar > a { flex: none; }
	/* Stack the preferences sections, not their nested form and equipment tables. */
	body.theme-v2 .dpc-preferences-layout,
	body.theme-v2 .dpc-preferences-layout > tbody,
	body.theme-v2 .dpc-preferences-layout > tbody > tr,
	body.theme-v2 .dpc-preferences-layout > tbody > tr > td {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}
	body.theme-v2 .dpc-layout,
	body.theme-v2 .dpc-layout > tbody,
	body.theme-v2 .dpc-layout > tbody > tr,
	body.theme-v2 .dpc-layout > tbody > tr > td {
		/* Keep padding and borders inside the available mobile width. */
		box-sizing: border-box;
		display: block;
		width: 100% !important;
	}
	body.theme-v2 .dpc-layout > tbody > tr > td { padding: 0 8px; }
	body.theme-v2 .dpc-sidebar { width: 100% !important; margin-bottom: 12px; }
	body.theme-v2 .dpc-sidebar-content { box-sizing: border-box; }
	body.theme-v2 .dpc-sidebar-toggle {
		background: rgba(82,121,160,.08);
		border: 1px solid rgba(82,121,160,.28);
		border-radius: 4px;
		color: var(--dpc-text);
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 18px;
		font-weight: 700;
		line-height: 1;
		padding: 2px 7px;
		position: absolute;
		left: 8px;
		top: 58px;
		touch-action: manipulation;
		width: 26px;
		height: 22px;
		z-index: 101;
	}
	body.theme-v2 .dpc-sidebar-toggle:hover {
		background: rgba(82,121,160,.18);
		border-color: rgba(82,121,160,.42);
		box-shadow: 0 0 0 1px rgba(82,121,160,.08);
	}
	body.theme-v2 .dpc-sidebar-toggle:focus { outline: 2px solid var(--dpc-blue-mid); outline-offset: 1px; }
	body.theme-v2 .dpc-sidebar-toggle:focus-visible {
		background: rgba(82,121,160,.18);
		border-color: rgba(82,121,160,.42);
		outline: 2px solid var(--dpc-blue-mid);
		outline-offset: 1px;
	}
	body.theme-v2 .dpc-sidebar-toggle.dpc-sidebar-has-changes::after {
		background: #FFD54F;
		border: 1px solid #263238;
		border-radius: 50%;
		content: "";
		height: 7px;
		position: absolute;
		right: 2px;
		top: 2px;
		width: 7px;
	}
	body.theme-v2 .dpc-sidebar-collapsed .dpc-sidebar-content { display: none; }
	body.theme-v2 .dpc-forum-author { width: 92px !important; }
	body.theme-v2 .dpc-forum-author .forumpic img { max-width: 44px; }
	body.theme-v2 .dpc-forum-author .forumcam { display: none; }
	body.theme-v2 .dpc-content { max-width: none; padding: 12px; }
	body.theme-v2 .page-image img { max-width: 100%; }
	body.theme-v2 .dpc-header tr:first-child { display: table-row; }
	body.theme-v2 .dpc-header tr:first-child td { display: table-cell; text-align: left; }
	body.theme-v2 .dpc-header tr:first-child td:first-child { width: 234px !important; }
	body.theme-v2 .dpc-header tr:first-child .dpc-account { width: auto !important; text-align: right; }
	body.theme-v2 .dpc-leftbox-head { padding-left: 38px; padding-right: 10px; }
	body.theme-v2 .dpc-leftbox-toggle {
		background: transparent;
		border: 0;
		color: #FFFFFF;
		cursor: pointer;
		display: block;
		font-size: 18px;
		font-weight: normal;
		line-height: 1;
		padding: 5px 8px;
		position: absolute;
		left: 2px;
		top: 2px;
		touch-action: manipulation;
		width: 30px;
	}
	body.theme-v2 .dpc-leftbox-toggle:focus { outline: 2px solid #FFFFFF; outline-offset: -2px; }
	body.theme-v2 .dpc-leftbox-toggle:focus-visible { outline: 2px solid #FFFFFF; outline-offset: -2px; }
	body.theme-v2 .dpc-leftbox-content-changed .dpc-leftbox-toggle::after {
		background: #FFD54F;
		border: 1px solid #263238;
		border-radius: 50%;
		content: "";
		height: 7px;
		position: absolute;
		right: 3px;
		top: 3px;
		width: 7px;
	}
	body.theme-v2 .dpc-leftbox-collapsed .dpc-leftbox-body,
	body.theme-v2 .dpc-leftbox-body-collapsed { display: none; }
}

@media (orientation: landscape) and (max-height: 600px) {
	body.theme-v2 .dpc-header tr:first-child td { padding-top: 0; padding-bottom: 0; }
}
