/*
Theme Name: Charta 中文版
Theme URI: https://themezee.com/themes/charta/
Author: ThemeZee
Author URI: https://themezee.com/
Description: Charta 中文 SEO 与运营增强版是一款采用经典双栏布局和右侧边栏的 WordPress 区块主题，内置可关闭的轻量 SEO、结构化数据、搜索引擎验证、标签治理、IndexNow、中文字体和性能体验优化，并可自动避让主流 SEO 插件。
Version: 1.5.16
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: charta
Tags: full-site-editing, template-editing, one-column, blog, news, custom-background, custom-logo, custom-header, custom-menu, grid-layout, entertainment, editor-style, block-styles, block-patterns, rtl-language-support, featured-images, flexible-header, custom-colors, full-width-template, sticky-post, threaded-comments, translation-ready, theme-options, two-columns, three-columns

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# - HTML Elements
# - Theme Layout
# - Theme Blocks
# - Query Blocks
# - Layout Blocks
# - Textformatting Blocks
# - Block Styles
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# - HTML Elements
--------------------------------------------------------------*/
p {
	margin-top: var(--wp--custom--spacing--elements);
	margin-bottom: var(--wp--custom--spacing--elements);
}

p.has-background {
	padding: 1.25rem 1.5rem;
}

h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
	padding: 0.75rem 1.25rem;
}

a {
	text-decoration: underline;
}

a:hover,
a:focus,
a:active {
	text-decoration: none;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

hr {
	margin-top: var(--wp--custom--spacing--elements);
	margin-bottom: var(--wp--custom--spacing--elements);
	height: 1px;
	border: none;
	background-color: var(--wp--preset--color--black);
	box-sizing: content-box;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

address {
	margin-top: var(--wp--custom--spacing--elements);
	margin-bottom: var(--wp--custom--spacing--elements);
}

pre {
	overflow: auto;
	margin-top: var(--wp--custom--spacing--elements);
	margin-bottom: var(--wp--custom--spacing--elements);
	padding: 1rem 1.25rem;
	max-width: 100%;
	border: 1px solid #ddd;
	font-size: 15px;
	font-size: 0.9375rem;
	font-family: Menlo, Consolas, monaco, monospace;
}

code,
kbd,
tt,
var {
	font-size: 15px;
	font-size: 0.9375rem;
	font-family: Menlo, Consolas, monaco, monospace;
	border: none;
	padding: 2px 5px;
}

pre code {
	background: none;
	padding: 0;
}

abbr,
acronym {
	border-bottom: 1px solid #ddd;
	cursor: help;
}

mark,
ins {
	text-decoration: none;
}

big {
	font-size: 125%;
}

blockquote {
	margin: var(--wp--custom--spacing--elements) 0;
	padding-left: 1.5rem;
	border-left: 5px solid #ddd;
	font-family: Georgia, "Songti SC", SimSun, "Times New Roman", Times, serif;
	font-size: 20px;
	font-size: 1.25rem;
}

blockquote p {
	margin-bottom: 1rem;
}

blockquote cite {
	display: block;
	font-family: var(--wp--preset--font-family--barlow);
	font-size: 16px;
	font-size: 1rem;
	font-style: normal;
}

blockquote cite::before {
	content: "\2014\00a0";
}

ul,
ol {
	margin: var(--wp--custom--spacing--elements) 0;
	padding: 0 0 0 var(--wp--custom--spacing--elements);
}

ul {
	list-style: circle;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-top: 0.75rem;
	margin-bottom: 0.75rem;
	margin-left: var(--wp--custom--spacing--elements);
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 0 var(--wp--custom--spacing--elements);
}

table {
	width: 100%;
	border: none;
	table-layout: auto;
	border-spacing: 0;
	border-collapse: collapse;
}

thead {
	border-bottom: 3px solid #ddd;
}

tfoot {
	border-top: 3px solid #ddd;
}

th,
td {
	padding: 0.5rem 0.8rem;
	border: 1px solid #ddd;
	word-break: normal;
}

th {
	font-weight: bold;
	text-align: initial;
}

embed,
iframe,
object,
figure,
picture {
	margin: 0;
}

img {
	max-width: 100%;
	vertical-align: top;
}

figcaption,
.blocks-gallery-caption {
	margin-top: 0.5rem;
	margin-bottom: var(--wp--custom--spacing--elements);
	color: var(--wp--preset--color--dark-gray);
	font-size: var(--wp--preset--font-size--tiny);
	text-align: center;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	margin: 0;
	padding: calc(0.6rem + 2px) calc(1.2rem + 2px);
	border: none;
	color: var(--wp--preset--color--white);
	background-color: var(--wp--preset--color--primary);
	text-decoration: none;
	font-weight: normal;
	font-size: var(--wp--preset--font-size--small);
	line-height: inherit;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	color: var(--wp--preset--color--white);
	background-color: var(--wp--preset--color--secondary);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	padding: 0.3em 0.6em;
	max-width: 100%;
	border: 1px solid #ddd;
	color: #777;
	background: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	border: 1px solid #aaa;
	color: #111;
	outline: none;
}

textarea {
	overflow: auto;
	width: 100%;
}

/*--------------------------------------------------------------
# - Theme Layout
--------------------------------------------------------------*/
:root {
	--charta--layout-spacing: 1.25rem;
}

@media only screen and (min-width: 640px) {
	:root {
		--charta--layout-spacing: 1.5rem;
	}
}

@media only screen and (min-width: 960px) {
	:root {
		--charta--layout-spacing: 1.75rem;
	}
}

/* Gutenberg has no margin settings for group blocks yet */
.site-content.wp-block-group {
	margin-top: 0;
}

/* Change breakproint of main sidebar layout */
@media (max-width: 880px) {
	.site-content > .wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-wrap: wrap;
	}

	.site-content > .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
	}

	.site-content > .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
		margin-top: var(--wp--style--block-gap, 2em);
		margin-left: 0;
	}
}

/* Gutenberg has no margin settings for template parts yet */
.site-footer.wp-block-template-part {
	margin-top: 0;
}

/*--------------------------------------------------------------
# - Theme Blocks
--------------------------------------------------------------*/

/* Navigation Block */
.wp-block-navigation .wp-block-navigation__container {
	gap: 1rem;
}

.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content {
	padding: 0.5rem;
}

.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:hover, .wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:focus, .wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:active {
	text-decoration: underline;
}

.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-icon {
	margin-left: 0;
	margin-top: 0.2rem;
}

.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container {
	padding: 1rem;
}

.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
	text-decoration: underline;
}

.wp-block-navigation button:hover,
.wp-block-navigation button:focus,
.wp-block-navigation button:active {
	background: none;
}

/* Social Icons Block */
.wp-block-social-links.is-style-logos-only .wp-social-link svg {
	width: 24px;
	height: 24px;
}

/*--------------------------------------------------------------
# - Query Blocks
--------------------------------------------------------------*/

/* Post Title Block */
.wp-block-post-title a {
	text-decoration: none;
	color: var(--wp--preset--color--black);
}

.wp-block-post-title a:hover, .wp-block-post-title a:focus, .wp-block-post-title a:active {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

/* Post Author Block */
.wp-block-post-author .wp-block-post-author__name {
	margin-top: 0;
	margin-bottom: 0;
}

/* Post Excerpt Block */
.wp-block-post-excerpt .wp-block-post-excerpt__more-text {
	margin-bottom: 0;
}

.wp-block-post-excerpt .wp-block-post-excerpt__more-text a {
	text-decoration: none;
}

.wp-block-post-excerpt .wp-block-post-excerpt__more-text a:hover, .wp-block-post-excerpt .wp-block-post-excerpt__more-text a:focus, .wp-block-post-excerpt .wp-block-post-excerpt__more-text a:active {
	text-decoration: underline;
}

/* Post Comments Block */
.wp-block-post-comments .commentlist {
	margin-bottom: 2rem;
}

.wp-block-post-comments .commentlist .comment {
	margin-bottom: var(--wp--custom--spacing--elements);
}

.wp-block-post-comments .commentlist .comment .comment-metadata {
	font-size: 15px;
}

.wp-block-post-comments .commentlist .comment p {
	margin-top: var(--wp--custom--spacing--elements);
	margin-bottom: var(--wp--custom--spacing--elements);
	font-size: inherit;
	line-height: var(--wp--custom--typography--line-height--text);
}

.wp-block-post-comments .commentlist .children {
	margin-top: var(--wp--custom--spacing--elements);
}

.wp-block-post-comments .comment-respond .comment-reply-title {
	margin: 0;
}

.wp-block-post-comments .comment-respond p {
	font-size: inherit;
}

.wp-block-post-comments .comment-respond .form-submit {
	margin-bottom: 0;
}

/* Query Pagination Block */
.wp-block-query-pagination {
	padding: 0.5rem;
}

.wp-block-query-pagination > .wp-block-query-pagination-numbers {
	margin-bottom: 0;
}

.wp-block-query-pagination .page-numbers {
	display: inline-block;
	padding: 0.5rem 1rem;
	font-weight: bold;
	text-decoration: none;
}

.wp-block-query-pagination .page-numbers:hover, .wp-block-query-pagination .page-numbers:focus, .wp-block-query-pagination .page-numbers:active {
	text-decoration: underline;
}

/*--------------------------------------------------------------
# - Layout Blocks
--------------------------------------------------------------*/

/* Group Block */
.wp-block-group.has-background {
	padding: var(--charta--layout-spacing);
}

/* Columns Block */
@media (max-width: 599px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
		margin-top: var(--wp--style--block-gap, 2em);
	}
}

/* Button Block */
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:active {
	text-decoration: underline;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background):not(.has-text-color):hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background):not(.has-text-color):active {
	background-color: var(--wp--preset--color--secondary);
	text-decoration: none;
}

.wp-block-button__link {
	padding: calc(0.6rem + 2px) calc(1.2rem + 2px);
}

/* Search Block */
.wp-block-search__button {
	padding: calc(0.6rem + 2px) calc(1.2rem + 2px);
	border: none;
	color: var(--wp--preset--color--white);
	background-color: var(--wp--preset--color--primary);
	text-decoration: none;
	font-weight: normal;
	font-size: var(--wp--preset--font-size--small);
	line-height: inherit;
	cursor: pointer;
}

.wp-block-search__button:hover, .wp-block-search__button:focus, .wp-block-search__button:active {
	color: var(--wp--preset--color--white);
	background-color: var(--wp--preset--color--secondary);
}

/*--------------------------------------------------------------
# - Textformatting Blocks
--------------------------------------------------------------*/

/* Quote Block */
.wp-block-quote.has-text-align-center:not(.is-style-large), .wp-block-quote.has-text-align-right:not(.is-style-large) {
	padding-left: 0;
	border-left: 0;
}

.wp-block-quote.has-text-align-right:not(.is-style-large) {
	padding-right: 1.5rem;
	border-right: 5px solid #ddd;
}

.wp-block-quote.is-style-large {
	padding: 0;
	border: none;
	font-size: 28px;
	font-size: 1.75rem;
}

.wp-block-quote.is-style-large p {
	font-size: inherit;
	font-style: inherit;
	line-height: inherit;
}

.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer, .wp-block-quote.is-style-large__citation {
	text-align: inherit;
	font-size: 16px;
	font-size: 1rem;
}

/* Pullquote Block */
.wp-block-pullquote {
	margin: var(--wp--custom--spacing--elements) 0;
	padding: 0;
	border-bottom: 5px solid #ddd;
	border-top: 5px solid #ddd;
}

.wp-block-pullquote blockquote {
	border: none;
	padding: 0;
	font-size: 28px;
	font-size: 1.75rem;
}

.wp-block-pullquote blockquote cite,
.wp-block-pullquote blockquote footer, .wp-block-pullquote blockquote__citation {
	font-size: 16px;
	font-size: 1rem;
}

.wp-block-pullquote p {
	font-size: inherit;
	line-height: inherit;
}

.wp-block-pullquote.alignleft p,
.wp-block-pullquote.alignright p {
	font-size: 0.75em;
}

.wp-block-pullquote.is-style-solid-color {
	padding: 1px 2rem;
	border: none;
}

.wp-block-pullquote.is-style-solid-color blockquote {
	margin-left: 0;
	margin-right: 0;
	max-width: 100%;
}

.wp-block-pullquote.is-style-solid-color blockquote p {
	margin: 1.75rem 0 1rem;
	font-size: inherit;
}

.wp-block-pullquote.is-style-solid-color blockquote cite,
.wp-block-pullquote.is-style-solid-color blockquote footer, .wp-block-pullquote.is-style-solid-color blockquote__citation {
	color: inherit;
}

.wp-block-pullquote .wp-block-pullquote__citation {
	font-size: 16px;
	font-size: 1rem;
	text-transform: none;
}

/* Separator Block */
.wp-block-separator {
	border: none;
	opacity: 1;
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots),
.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots) {
	margin-left: auto;
	margin-right: auto;
	max-width: 80px;
	width: 80px;
	height: 4px;
}

/*--------------------------------------------------------------
# - Media Blocks
--------------------------------------------------------------*/
.wp-block-audio {
	margin: inherit;
}

.wp-block-image {
	margin: inherit;
}

.wp-block-gallery {
	margin: inherit;
}

.wp-block-table {
	margin: inherit;
}

/*--------------------------------------------------------------
# - Block Styles
--------------------------------------------------------------*/

/* Flip Link Hover */
.is-style-flip-link-hover a {
	text-decoration: none;
}

.is-style-flip-link-hover a:hover, .is-style-flip-link-hover a:focus, .is-style-flip-link-hover a:active {
	text-decoration: underline;
}

/* Post Meta */
.is-style-post-meta.wp-block-group {
	padding: 5px 10px;
	border-top: 1px solid #e8e8e8;
	border-bottom: 1px solid #e8e8e8;
	gap: 0 1.5rem;
}

.is-style-post-meta.wp-block-group > .wp-block-group {
	gap: 0.3rem;
}

/* Widget Title */
.is-style-widget-title {
	padding-bottom: 5px;
	border-bottom: 1px solid #e8e8e8;
	font-size: 20px;
}


/*--------------------------------------------------------------
# - Chinese Reading, Accessibility and UX Enhancements
--------------------------------------------------------------*/
html {
	-webkit-text-size-adjust: 100%;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.wp-site-blocks {
	min-height: 100vh;
}

.wp-block-post-content,
.wp-block-post-excerpt,
.wp-block-term-description,
.comment-content {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.wp-block-post-content :where(h2, h3, h4, h5, h6) {
	scroll-margin-top: 1.5rem;
}

a {
	text-underline-offset: 0.16em;
	text-decoration-thickness: 0.075em;
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--highlight);
	outline-offset: 3px;
}

:where(button, input[type="button"], input[type="submit"], input[type="reset"], .wp-element-button, .wp-block-search__button) {
	min-height: 44px;
}

.wp-block-navigation-item__content {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

img {
	max-width: 100%;
	height: auto;
}

.wp-block-post-featured-image img,
.wp-block-image img {
	display: block;
}

.wp-block-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.archive-intro .wp-block-term-description:empty {
	display: none;
}

.archive-intro .wp-block-term-description > :first-child {
	margin-top: 0.75rem;
}

.archive-intro .wp-block-term-description > :last-child {
	margin-bottom: 0;
}

.post-navigation a {
	font-weight: 700;
	text-decoration: none;
}

.post-navigation a:hover,
.post-navigation a:focus {
	text-decoration: underline;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	padding: 0.5rem 0.75rem;
	font-weight: 700;
}

@media (max-width: 599px) {
	.site-header .wp-block-group,
	.site-footer .wp-block-group {
		flex-wrap: wrap;
	}

	.wp-block-query-pagination {
		gap: 0.5rem;
	}

	.wp-block-query-pagination-numbers {
		order: 3;
		width: 100%;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/*--------------------------------------------------------------
# - Article Reading, Webmaster, Links and Contact Panel
--------------------------------------------------------------*/
.single .post-wrapper > .wp-block-group > .wp-block-group:first-child {
	border-radius: 12px;
	box-shadow: 0 8px 28px rgba(30, 35, 40, 0.06);
}

.single .wp-block-post-title {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.28;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.single .wp-block-post-content {
	font-size: 18px;
	line-height: 1.9;
	color: #30343b;
}

.single .wp-block-post-content > :where(p, ul, ol, blockquote, pre, table) {
	max-width: 760px;
}

.single .wp-block-post-content :where(p, li) {
	letter-spacing: 0.015em;
}

.single .wp-block-post-content :where(h2, h3, h4) {
	line-height: 1.4;
	margin-top: 2.2em;
	margin-bottom: 0.8em;
	text-wrap: balance;
}

.single .wp-block-post-content h2 {
	padding-left: 0.7em;
	border-left: 4px solid var(--wp--preset--color--highlight);
}

.single .wp-block-post-content blockquote {
	border-left-width: 4px;
	border-radius: 0 8px 8px 0;
	background: #f7f8fa;
	padding: 1rem 1.4rem;
}

.single .wp-block-post-content :where(pre, code, kbd) {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.single .wp-block-post-content pre {
	overflow-x: auto;
	border-radius: 8px;
	padding: 1.2rem;
	font-size: 0.88em;
	line-height: 1.65;
}

.single .wp-block-post-content a {
	text-decoration-thickness: 0.08em;
}

.charta-webmaster-card,
.charta-friend-links {
	background: var(--wp--preset--color--white, #fff);
	padding: 1.25rem;
	margin-bottom: 1.5rem;
	border-radius: 10px;
	box-shadow: 0 5px 20px rgba(30, 35, 40, 0.05);
}

.charta-webmaster-card__body {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

.charta-webmaster-card__body img {
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 50%;
}

.charta-webmaster-card__body p {
	margin: 0.4rem 0 0;
	font-size: 0.92rem;
	line-height: 1.7;
	color: #626870;
}

.charta-friend-links ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6rem 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.charta-friend-links li {
	min-width: 0;
}

.charta-friend-links a {
	display: block;
	font-weight: 700;
	text-decoration: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.charta-friend-links a:hover,
.charta-friend-links a:focus {
	text-decoration: underline;
}

.charta-friend-links small {
	display: block;
	margin-top: 0.15rem;
	color: #747a82;
	line-height: 1.45;
}

.charta-contact-panel {
	position: fixed;
	right: max(18px, env(safe-area-inset-right));
	top: 50%;
	z-index: 999;
	width: 210px;
	transform: translateY(-50%);
	filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.16));
}

.charta-contact-panel details {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	overflow: hidden;
}

.charta-contact-panel summary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	padding: 0.65rem 0.8rem;
	cursor: pointer;
	background: var(--wp--preset--color--highlight, #f6c453);
	color: #171717;
	list-style: none;
}

.charta-contact-panel summary::-webkit-details-marker {
	display: none;
}

.charta-contact-panel summary span {
	font-size: 1.2rem;
}

.charta-contact-panel__content {
	padding: 1rem;
	text-align: center;
}

.charta-contact-panel__qr {
	display: block;
	width: 160px;
	height: 160px;
	margin: 0 auto 0.75rem;
	object-fit: contain;
	border-radius: 6px;
}

.charta-contact-panel__content p {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0;
	padding: 0.48rem 0;
	border-top: 1px solid #eceef0;
	font-size: 0.9rem;
}

.charta-contact-panel__content p span {
	color: #6a7078;
}

.charta-contact-panel__content a {
	font-weight: 700;
}

.charta-contact-panel__content small {
	display: block;
	margin-top: 0.65rem;
	color: #6a7078;
	line-height: 1.55;
}

@media (min-width: 1000px) {
	.charta-contact-panel details[open] summary {
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}
}

@media (max-width: 999px) {
	.single .wp-block-post-content {
		font-size: 17px;
		line-height: 1.85;
	}

	.charta-contact-panel {
		right: max(12px, env(safe-area-inset-right));
		top: auto;
		bottom: max(12px, env(safe-area-inset-bottom));
		width: min(260px, calc(100vw - 24px));
		transform: none;
	}

	.charta-contact-panel details:not([open]) {
		margin-left: auto;
		width: fit-content;
		min-width: 118px;
	}

	.charta-contact-panel details:not([open]) summary {
		border-radius: 999px;
	}
}

@media (max-width: 480px) {
	.single .post-wrapper > .wp-block-group > .wp-block-group:first-child {
		border-radius: 0;
	}

	.single .wp-block-post-title {
		font-size: 1.85rem;
	}

	.charta-friend-links ul {
		grid-template-columns: 1fr;
	}
}

/*--------------------------------------------------------------
# - Member center, points and redemption
--------------------------------------------------------------*/
.charta-member-center { max-width: 1120px; margin: 0 auto; }
.charta-member-grid,
.charta-reward-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.charta-member-auth { max-width: 520px; margin: 0 auto; border: 1px solid #e4e7ec; border-radius: 14px; background: #fff; overflow: hidden; box-shadow: 0 12px 36px rgba(15,23,42,.08); }
.charta-member-card,
.charta-member-section,
.charta-member-summary,
.charta-reward-card { border: 1px solid #dedede; border-radius: 10px; background: #fff; padding: 1.5rem; box-shadow: 0 4px 18px rgba(0,0,0,.04); }

.charta-member-auth-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .4rem; background: #f5f7fa; border-bottom: 1px solid #e8ecf1; }
.charta-member-auth-tabs a { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 9px; color: #667085; font-weight: 700; text-decoration: none; }
.charta-member-auth-tabs a.is-active { background: #fff; color: #273142; box-shadow: 0 2px 8px rgba(15,23,42,.07); }
.charta-member-auth-panel { padding: 1.75rem; }
.charta-member-auth-panel h2 { margin: 0 0 .45rem; font-size: 1.55rem; }
.charta-member-auth-intro { margin: 0 0 1.35rem; color: #667085; line-height: 1.7; }
.charta-member-auth-switch { margin: 1.2rem 0 0; padding-top: 1rem; border-top: 1px solid #edf0f3; text-align: center; color: #667085; }
.charta-member-lost-password { justify-self: start; font-size: .92rem; }
.charta-member-center form { display: grid; gap: .9rem; }
.charta-member-center label { display: grid; gap: .4rem; font-weight: 600; }
.charta-member-center input,
.charta-member-center textarea { width: 100%; box-sizing: border-box; border: 1px solid #bbb; border-radius: 6px; padding: .75rem .85rem; font: inherit; background: #fff; }
.charta-member-center input:focus,
.charta-member-center textarea:focus { outline: 2px solid currentColor; outline-offset: 1px; border-color: currentColor; }
.charta-member-center button { min-height: 44px; border: 0; border-radius: 6px; padding: .7rem 1rem; font: inherit; font-weight: 700; cursor: pointer; }
.charta-member-center button:disabled { cursor: not-allowed; opacity: .55; }
.charta-member-check { display: flex !important; grid-template-columns: none; align-items: center; gap: .5rem !important; font-weight: 400 !important; }
.charta-member-check input { width: auto; }
.charta-member-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.charta-member-summary h2,
.charta-member-summary p { margin: .2rem 0; }
.charta-member-summary > div:nth-child(2) { text-align: center; }
.charta-member-summary > div:nth-child(2) strong { display: block; font-size: 2rem; line-height: 1; }
.charta-member-section { margin-top: 1.5rem; }
.charta-reward-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.charta-reward-card { padding: 1rem; }
.charta-reward-card img { width: 100%; height: auto; border-radius: 7px; }
.charta-reward-card h4 { font-size: 1.15rem; margin: .8rem 0 .4rem; }
.charta-member-ledger { list-style: none; padding: 0; margin: 0; }
.charta-member-ledger li { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid #eee; }
.charta-member-ledger small { display: block; opacity: .7; }
.charta-member-table-wrap { overflow-x: auto; }
.charta-member-table-wrap table { width: 100%; border-collapse: collapse; min-width: 680px; }
.charta-member-table-wrap th,
.charta-member-table-wrap td { padding: .75rem; text-align: left; border-bottom: 1px solid #e5e5e5; }
.charta-member-notice { padding: .9rem 1rem; margin-bottom: 1rem; border-radius: 6px; border: 1px solid; }
.charta-member-notice--success { background: #f0f8f1; border-color: #5b9564; }
.charta-member-notice--error { background: #fff1f1; border-color: #b85c5c; }
@media (max-width: 820px) {
	.charta-member-grid,
	.charta-reward-grid { grid-template-columns: 1fr; }
	.charta-member-summary { align-items: flex-start; flex-wrap: wrap; }
	.charta-member-summary > div:nth-child(2) { text-align: left; }
}


/* Article downloads and member reading UX */
.charta-download-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0;padding:1.2rem 1.35rem;border:1px solid #dedede;border-radius:10px;background:#f7f8f9}.charta-download-card p{margin:.35rem 0 0;font-size:.92rem;color:#626870}.charta-download-card form{margin:0}.charta-download-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border:0;border-radius:7px;background:var(--wp--preset--color--dark-background,#1c1c1c);color:#fff!important;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}.charta-content-lock{margin:2rem 0;padding:1.5rem;border:1px dashed #aaa;border-radius:10px;background:#fafafa;text-align:center}.charta-content-lock h3{margin:.35rem 0}.charta-lock-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.charta-member-entry{display:flex;align-items:center;gap:.55rem;font-size:.86rem}.charta-member-entry img{border-radius:50%}.charta-member-entry span{display:grid}.charta-member-entry small{opacity:.75}.charta-member-entry a{font-weight:700}.single .wp-block-post-content{font-size:18px;line-height:1.9;letter-spacing:.01em}.single .wp-block-post-content p{margin-top:0;margin-bottom:1.35em}.single .wp-block-post-content h2,.single .wp-block-post-content h3{line-height:1.45;margin-top:1.8em}.editor-styles-wrapper{font-size:18px;line-height:1.85}.editor-styles-wrapper .wp-block{max-width:780px}@media(max-width:780px){.charta-download-card{align-items:stretch;flex-direction:column}.charta-download-button{width:100%;box-sizing:border-box}.charta-member-entry small{display:none}.single .wp-block-post-content{font-size:17px;line-height:1.85}}


/*--------------------------------------------------------------
# - Charta selectable color schemes
--------------------------------------------------------------*/
body.charta-scheme-blue-gray,
body.charta-scheme-blue-gray .editor-styles-wrapper {
	--wp--preset--color--primary: #5f7489;
	--wp--preset--color--secondary: #465d73;
	--wp--preset--color--tertiary: #344a5f;
	--wp--preset--color--accent: #8a6f62;
	--wp--preset--color--highlight: #b49362;
	--wp--preset--color--light-background: #e8edf1;
	--wp--preset--color--dark-background: #354656;
	--wp--preset--color--light-gray: #f4f6f8;
	--wp--preset--color--gray: #a5b0ba;
	--wp--preset--color--dark-gray: #667481;
	--wp--preset--color--black: #25313c;
	--charta-surface: #ffffff;
	--charta-page-background: #f4f6f8;
	--charta-border: #e1e7ec;
	--charta-muted: #687786;
	--charta-soft: #eef2f5;
	--charta-shadow: 0 8px 26px rgba(52, 74, 95, 0.07);
}

body.charta-scheme-gray-black,
body.charta-scheme-gray-black .editor-styles-wrapper {
	--wp--preset--color--primary: #4b5057;
	--wp--preset--color--secondary: #363a40;
	--wp--preset--color--tertiary: #25282d;
	--wp--preset--color--accent: #73777d;
	--wp--preset--color--highlight: #9a8d77;
	--wp--preset--color--light-background: #e9eaec;
	--wp--preset--color--dark-background: #292c31;
	--wp--preset--color--light-gray: #f4f4f5;
	--wp--preset--color--gray: #a8abb0;
	--wp--preset--color--dark-gray: #666a70;
	--wp--preset--color--black: #202328;
	--charta-surface: #ffffff;
	--charta-page-background: #f4f4f5;
	--charta-border: #e3e4e6;
	--charta-muted: #696d73;
	--charta-soft: #eff0f1;
	--charta-shadow: 0 8px 26px rgba(32, 35, 40, 0.07);
}

body.charta-scheme-blue-gray,
body.charta-scheme-gray-black {
	background: var(--charta-page-background);
	color: var(--wp--preset--color--black);
}

body.charta-scheme-blue-gray a,
body.charta-scheme-gray-black a {
	text-decoration-color: color-mix(in srgb, var(--wp--preset--color--primary) 35%, transparent);
	text-underline-offset: 3px;
}

body.charta-scheme-blue-gray :where(button, input[type="button"], input[type="reset"], input[type="submit"], .wp-element-button),
body.charta-scheme-gray-black :where(button, input[type="button"], input[type="reset"], input[type="submit"], .wp-element-button) {
	border-radius: 8px;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.charta-scheme-blue-gray :where(button, input[type="button"], input[type="reset"], input[type="submit"], .wp-element-button):hover,
body.charta-scheme-gray-black :where(button, input[type="button"], input[type="reset"], input[type="submit"], .wp-element-button):hover {
	transform: translateY(-1px);
	box-shadow: 0 5px 16px color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent);
}

body.charta-scheme-blue-gray :where(.charta-webmaster-card, .charta-member-card, .charta-reward-card, .charta-download-card, .charta-content-lock),
body.charta-scheme-gray-black :where(.charta-webmaster-card, .charta-member-card, .charta-reward-card, .charta-download-card, .charta-content-lock) {
	border-color: var(--charta-border);
	background: var(--charta-surface);
	box-shadow: var(--charta-shadow);
}

body.charta-scheme-blue-gray .charta-download-card,
body.charta-scheme-blue-gray .charta-content-lock,
body.charta-scheme-gray-black .charta-download-card,
body.charta-scheme-gray-black .charta-content-lock {
	background: var(--charta-soft);
}

body.charta-scheme-blue-gray :where(.charta-download-card p, .charta-content-lock p, .charta-webmaster-card p),
body.charta-scheme-gray-black :where(.charta-download-card p, .charta-content-lock p, .charta-webmaster-card p) {
	color: var(--charta-muted);
}

body.charta-scheme-blue-gray :where(input, textarea, select),
body.charta-scheme-gray-black :where(input, textarea, select) {
	border-color: var(--charta-border);
	border-radius: 8px;
}

body.charta-scheme-blue-gray :where(pre, th, td),
body.charta-scheme-gray-black :where(pre, th, td) {
	border-color: var(--charta-border);
}

body.charta-scheme-blue-gray blockquote,
body.charta-scheme-gray-black blockquote {
	border-left-color: var(--wp--preset--color--primary);
	background: var(--charta-soft);
	border-radius: 0 10px 10px 0;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

/* Video player experience
--------------------------------------------- */
.entry-content :where(.wp-block-video, .wp-block-embed.is-type-video),
.wp-site-blocks :where(.wp-block-video, .wp-block-embed.is-type-video) {
	margin-block: clamp(1.5rem, 3vw, 2.25rem);
}

.entry-content .wp-block-video,
.wp-site-blocks .wp-block-video {
	position: relative;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--charta-border, #e3e4e6) 82%, transparent);
	border-radius: 14px;
	background: #101318;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
	isolation: isolate;
}

.entry-content .wp-block-video video,
.wp-site-blocks .wp-block-video video,
.entry-content > video,
.wp-site-blocks main video {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: min(52vw, 260px);
	max-height: min(72vh, 760px);
	border: 0;
	border-radius: 14px;
	background: #101318;
	object-fit: contain;
	accent-color: var(--wp--preset--color--primary, #42688f);
}

.entry-content .wp-block-video video:focus-visible,
.wp-site-blocks .wp-block-video video:focus-visible,
.entry-content > video:focus-visible,
.wp-site-blocks main video:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--wp--preset--color--primary, #42688f) 72%, white);
	outline-offset: 3px;
}

.entry-content .wp-block-video figcaption,
.wp-site-blocks .wp-block-video figcaption,
.entry-content .wp-block-embed.is-type-video figcaption,
.wp-site-blocks .wp-block-embed.is-type-video figcaption {
	margin: 0;
	padding: .72rem 1rem .8rem;
	background: var(--charta-surface, #fff);
	color: var(--charta-muted, #667085);
	font-size: .875rem;
	line-height: 1.65;
	text-align: center;
}

.entry-content .wp-block-embed.is-type-video,
.wp-site-blocks .wp-block-embed.is-type-video {
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--charta-border, #e3e4e6) 82%, transparent);
	border-radius: 14px;
	background: #101318;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.entry-content .wp-block-embed.is-type-video .wp-block-embed__wrapper,
.wp-site-blocks .wp-block-embed.is-type-video .wp-block-embed__wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
	min-height: 220px;
	background: #101318;
}

.entry-content .wp-block-embed.is-type-video iframe,
.wp-site-blocks .wp-block-embed.is-type-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (max-width: 600px) {
	.entry-content :where(.wp-block-video, .wp-block-embed.is-type-video),
	.wp-site-blocks :where(.wp-block-video, .wp-block-embed.is-type-video) {
		margin-block: 1.25rem;
	}

	.entry-content .wp-block-video,
	.wp-site-blocks .wp-block-video,
	.entry-content .wp-block-embed.is-type-video,
	.wp-site-blocks .wp-block-embed.is-type-video,
	.entry-content .wp-block-video video,
	.wp-site-blocks .wp-block-video video,
	.entry-content > video,
	.wp-site-blocks main video {
		border-radius: 10px;
	}

	.entry-content .wp-block-video video,
	.wp-site-blocks .wp-block-video video,
	.entry-content > video,
	.wp-site-blocks main video {
		min-height: 190px;
	}

	.entry-content .wp-block-embed.is-type-video .wp-block-embed__wrapper,
	.wp-site-blocks .wp-block-embed.is-type-video .wp-block-embed__wrapper {
		min-height: 190px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.entry-content .wp-block-video,
	.wp-site-blocks .wp-block-video,
	.entry-content .wp-block-embed.is-type-video,
	.wp-site-blocks .wp-block-embed.is-type-video {
		scroll-behavior: auto;
	}
}

/* Content media, tables, documents and links
--------------------------------------------- */
.entry-content :where(.wp-block-image, .wp-block-gallery, .wp-block-cover),
.wp-site-blocks main :where(.wp-block-image, .wp-block-gallery, .wp-block-cover) {
	margin-block: clamp(1.45rem, 3vw, 2.2rem);
}

.entry-content .wp-block-image img,
.wp-site-blocks main .wp-block-image img,
.entry-content > p > img,
.wp-site-blocks main > p > img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 10px 28px rgba(15, 23, 42, .09);
	transition: transform .22s ease, box-shadow .22s ease;
}

@media (hover: hover) and (pointer: fine) {
	.entry-content .wp-block-image a:hover img,
	.wp-site-blocks main .wp-block-image a:hover img {
		transform: translateY(-2px);
		box-shadow: 0 15px 36px rgba(15, 23, 42, .13);
	}
}

.entry-content :where(.wp-block-image figcaption, .wp-block-gallery figcaption),
.wp-site-blocks main :where(.wp-block-image figcaption, .wp-block-gallery figcaption) {
	margin: .7rem auto 0;
	max-width: 90%;
	color: var(--charta-muted, #687786);
	font-size: .875rem;
	line-height: 1.65;
	text-align: center;
}

.entry-content .wp-block-gallery,
.wp-site-blocks main .wp-block-gallery {
	gap: clamp(.55rem, 1.4vw, 1rem);
}

.entry-content .wp-block-gallery .wp-block-image,
.wp-site-blocks main .wp-block-gallery .wp-block-image {
	overflow: hidden;
	border-radius: 10px;
}

.entry-content .wp-block-gallery .wp-block-image img,
.wp-site-blocks main .wp-block-gallery .wp-block-image img {
	width: 100%;
	height: 100%;
	border-radius: 10px;
	box-shadow: none;
	object-fit: cover;
}

/* Tables stay readable on narrow screens without breaking the page. */
.entry-content .wp-block-table,
.wp-site-blocks main .wp-block-table {
	margin-block: clamp(1.5rem, 3vw, 2.2rem);
	overflow-x: auto;
	border: 1px solid var(--charta-border, #e1e7ec);
	border-radius: 12px;
	background: var(--charta-surface, #fff);
	box-shadow: 0 8px 24px rgba(15, 23, 42, .055);
	-webkit-overflow-scrolling: touch;
}

.entry-content .wp-block-table table,
.wp-site-blocks main .wp-block-table table,
.entry-content > table,
.wp-site-blocks main > table {
	width: 100%;
	min-width: 560px;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .95rem;
	line-height: 1.65;
}

.entry-content :where(.wp-block-table th, > table th),
.wp-site-blocks main :where(.wp-block-table th, > table th) {
	padding: .85rem 1rem;
	border-width: 0 0 1px;
	border-color: var(--charta-border, #e1e7ec);
	background: var(--charta-soft, #eef2f5);
	color: var(--wp--preset--color--black, #25313c);
	font-weight: 700;
	text-align: left;
	white-space: nowrap;
}

.entry-content :where(.wp-block-table td, > table td),
.wp-site-blocks main :where(.wp-block-table td, > table td) {
	padding: .82rem 1rem;
	border-width: 0 0 1px;
	border-color: var(--charta-border, #e1e7ec);
	vertical-align: top;
	word-break: break-word;
}

.entry-content .wp-block-table tr:last-child td,
.wp-site-blocks main .wp-block-table tr:last-child td {
	border-bottom: 0;
}

.entry-content .wp-block-table tbody tr:nth-child(even),
.wp-site-blocks main .wp-block-table tbody tr:nth-child(even) {
	background: color-mix(in srgb, var(--charta-soft, #eef2f5) 56%, transparent);
}

.entry-content .wp-block-table tbody tr:hover,
.wp-site-blocks main .wp-block-table tbody tr:hover {
	background: color-mix(in srgb, var(--wp--preset--color--primary, #42688f) 7%, white);
}

.entry-content .wp-block-table figcaption,
.wp-site-blocks main .wp-block-table figcaption {
	margin: 0;
	padding: .7rem 1rem;
	border-top: 1px solid var(--charta-border, #e1e7ec);
	color: var(--charta-muted, #687786);
	font-size: .84rem;
	text-align: center;
}

/* WordPress File block and common document embeds. */
.entry-content .wp-block-file,
.wp-site-blocks main .wp-block-file {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-block: 1.5rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--charta-border, #e1e7ec);
	border-radius: 12px;
	background: var(--charta-surface, #fff);
	box-shadow: 0 7px 22px rgba(15, 23, 42, .05);
}

.entry-content .wp-block-file > a:not(.wp-block-file__button),
.wp-site-blocks main .wp-block-file > a:not(.wp-block-file__button) {
	position: relative;
	padding-left: 2.15rem;
	color: var(--wp--preset--color--black, #25313c);
	font-weight: 650;
	line-height: 1.5;
	text-decoration: none;
	word-break: break-word;
}

.entry-content .wp-block-file > a:not(.wp-block-file__button)::before,
.wp-site-blocks main .wp-block-file > a:not(.wp-block-file__button)::before {
	content: "文档";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 1.7rem;
	height: 1.7rem;
	border-radius: 6px;
	background: var(--charta-soft, #eef2f5);
	color: var(--wp--preset--color--primary, #42688f);
	font-size: .62rem;
	font-weight: 800;
}

.entry-content .wp-block-file .wp-block-file__button,
.wp-site-blocks main .wp-block-file .wp-block-file__button {
	flex: 0 0 auto;
	margin: 0;
	padding: .62rem 1rem;
	border-radius: 8px;
	background: var(--wp--preset--color--primary, #42688f);
	color: #fff;
	font-size: .88rem;
	font-weight: 700;
	text-decoration: none;
}

.entry-content :where(object[type="application/pdf"], embed[type="application/pdf"], iframe[src$=".pdf" i]),
.wp-site-blocks main :where(object[type="application/pdf"], embed[type="application/pdf"], iframe[src$=".pdf" i]) {
	display: block;
	width: 100%;
	min-height: min(72vh, 760px);
	margin-block: 1.6rem;
	border: 1px solid var(--charta-border, #e1e7ec);
	border-radius: 12px;
	background: var(--charta-soft, #eef2f5);
	box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}

/* Links remain recognizable in long-form content without visual noise. */
.entry-content a:not(.wp-element-button):not(.wp-block-file__button),
.wp-site-blocks main .wp-block-post-content a:not(.wp-element-button):not(.wp-block-file__button) {
	color: var(--wp--preset--color--primary, #42688f);
	font-weight: 550;
	text-decoration-line: underline;
	text-decoration-thickness: .08em;
	text-decoration-color: color-mix(in srgb, currentColor 34%, transparent);
	text-underline-offset: .22em;
	transition: color .18s ease, text-decoration-color .18s ease, background-color .18s ease;
}

.entry-content a:not(.wp-element-button):not(.wp-block-file__button):hover,
.wp-site-blocks main .wp-block-post-content a:not(.wp-element-button):not(.wp-block-file__button):hover {
	color: var(--wp--preset--color--secondary, #354656);
	text-decoration-color: currentColor;
}

.entry-content a:not(.wp-element-button):not(.wp-block-file__button):focus-visible,
.wp-site-blocks main .wp-block-post-content a:not(.wp-element-button):not(.wp-block-file__button):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--wp--preset--color--primary, #42688f) 30%, transparent);
	outline-offset: 3px;
	border-radius: 3px;
}

.entry-content a[target="_blank"]:not(.wp-element-button):not(.wp-block-file__button)::after,
.wp-site-blocks main .wp-block-post-content a[target="_blank"]:not(.wp-element-button):not(.wp-block-file__button)::after {
	content: "↗";
	display: inline-block;
	margin-left: .18em;
	font-size: .78em;
	line-height: 1;
	vertical-align: .18em;
}

@media (max-width: 600px) {
	.entry-content .wp-block-image img,
	.wp-site-blocks main .wp-block-image img,
	.entry-content > p > img,
	.wp-site-blocks main > p > img {
		border-radius: 9px;
	}

	.entry-content .wp-block-file,
	.wp-site-blocks main .wp-block-file {
		align-items: stretch;
		flex-direction: column;
	}

	.entry-content .wp-block-file .wp-block-file__button,
	.wp-site-blocks main .wp-block-file .wp-block-file__button {
		text-align: center;
	}

	.entry-content :where(object[type="application/pdf"], embed[type="application/pdf"], iframe[src$=".pdf" i]),
	.wp-site-blocks main :where(object[type="application/pdf"], embed[type="application/pdf"], iframe[src$=".pdf" i]) {
		min-height: 68vh;
		border-radius: 9px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.entry-content .wp-block-image img,
	.wp-site-blocks main .wp-block-image img {
		transition: none;
	}
}


/* 1.5.10: streamlined header account links and sidebar login card */
.charta-member-entry:not(.is-logged-in){gap:.75rem}
.charta-member-entry:not(.is-logged-in) > span{display:none}
.charta-member-entry:not(.is-logged-in) > a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.45rem .8rem;border:1px solid currentColor;border-radius:8px;text-decoration:none}
.charta-member-entry:not(.is-logged-in) > a.is-register{background:var(--charta-accent,#2563eb);border-color:var(--charta-accent,#2563eb);color:#fff}
.charta-sidebar-login{margin-bottom:1.25rem;padding:1.25rem;border:1px solid var(--charta-border,#e8ecf1);border-radius:12px;background:var(--charta-card,#fff);box-shadow:0 4px 18px rgba(15,23,42,.04)}
.charta-sidebar-login h3{margin:0 0 1rem;font-size:1.08rem}
.charta-sidebar-login form{display:grid;gap:.8rem}
.charta-sidebar-login label{display:grid;gap:.35rem;font-size:.9rem;font-weight:600}
.charta-sidebar-login input[type=text],.charta-sidebar-login input[type=password]{width:100%;box-sizing:border-box;min-height:42px;padding:.65rem .75rem;border:1px solid var(--charta-border,#d8dee8);border-radius:8px;background:#fff;font:inherit}
.charta-sidebar-login input:focus{outline:2px solid color-mix(in srgb,var(--charta-accent,#2563eb) 28%,transparent);outline-offset:1px;border-color:var(--charta-accent,#2563eb)}
.charta-sidebar-login .charta-member-check{display:flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:400}
.charta-sidebar-login .charta-member-check input{width:auto}
.charta-sidebar-login button{min-height:42px;border:0;border-radius:8px;background:var(--charta-accent,#2563eb);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.charta-sidebar-login-links{display:flex;justify-content:space-between;gap:.75rem;margin:.1rem 0 0;font-size:.86rem}
.charta-sidebar-login-links a{text-decoration:none}
@media(max-width:900px){.charta-sidebar-login{display:none}}


/* Member front-end submissions */
.charta-submission-center{max-width:920px;margin:0 auto}.charta-submission-header,.charta-submission-cta{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.charta-submission-header{margin-bottom:1.35rem}.charta-submission-header h2,.charta-submission-header p,.charta-submission-cta h3,.charta-submission-cta p{margin:.25rem 0}.charta-submission-header>span{flex:0 0 auto;padding:.45rem .75rem;border:1px solid var(--charta-border,#e8ecf1);border-radius:999px;background:var(--charta-surface-soft,#f5f7fa);font-size:.9rem}.charta-submission-form{display:grid;gap:1rem;padding:1.45rem;border:1px solid var(--charta-border,#e8ecf1);border-radius:14px;background:var(--charta-surface,#fff);box-shadow:0 8px 26px rgba(15,23,42,.05)}.charta-submission-form label{display:grid;gap:.45rem;font-weight:650}.charta-submission-form input[type=text],.charta-submission-form select,.charta-submission-form textarea,.charta-submission-form input[type=file]{width:100%;box-sizing:border-box;border:1px solid var(--charta-border-strong,#cfd6df);border-radius:9px;padding:.75rem .85rem;background:var(--charta-surface,#fff);color:inherit;font:inherit}.charta-submission-form textarea{resize:vertical;line-height:1.8}.charta-submission-form input:focus,.charta-submission-form select:focus,.charta-submission-form textarea:focus{outline:3px solid rgba(37,99,235,.14);border-color:var(--charta-primary,#2563eb)}.charta-submission-form small{font-weight:400;color:var(--charta-muted,#667085)}.charta-submission-form button{justify-self:start;min-height:46px;border:0;border-radius:9px;padding:.72rem 1.25rem;background:var(--charta-primary,#2563eb);color:#fff;font:inherit;font-weight:700;cursor:pointer}.charta-submission-login{max-width:620px;margin:2rem auto;padding:2rem;border:1px solid var(--charta-border,#e8ecf1);border-radius:14px;background:var(--charta-surface,#fff);text-align:center}.charta-submission-status{display:inline-flex;padding:.24rem .55rem;border-radius:999px;background:#eef2f6;font-size:.86rem}.charta-submission-status--pending{background:#fff7db;color:#7a5600}.charta-submission-status--publish{background:#e9f8ee;color:#176b36}.charta-submission-status--trash{background:#fff0f0;color:#9b2c2c}.charta-submission-cta{padding:1.25rem 1.35rem;border:1px solid var(--charta-border,#e8ecf1);border-radius:12px;background:var(--charta-surface-soft,#f8fafc)}.charta-submission-cta .wp-element-button{flex:0 0 auto}@media(max-width:700px){.charta-submission-header,.charta-submission-cta{align-items:stretch;flex-direction:column}.charta-submission-header>span,.charta-submission-cta .wp-element-button{align-self:flex-start}.charta-submission-form{padding:1rem}.charta-submission-form button{width:100%}}

/* Homepage recommendations and pinned posts. */
.charta-home-highlights {
	margin: 0 0 1.5rem;
}

.charta-featured-slider {
	position: relative;
	overflow: hidden;
	margin: 0 0 1.25rem;
	border: 1px solid var(--charta-border, #e2e8f0);
	border-radius: 16px;
	background: #111827;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.09);
}

.charta-featured-slider__viewport {
	position: relative;
	aspect-ratio: 16 / 8.5;
	min-height: 300px;
}

.charta-featured-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .45s ease, visibility .45s ease;
}

.charta-featured-slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.charta-featured-slide__media,
.charta-featured-slide__media img,
.charta-featured-slide__placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.charta-featured-slide__media img {
	object-fit: cover;
}

.charta-featured-slide__placeholder {
	background: linear-gradient(135deg, var(--charta-primary, #64748b), #111827);
}

.charta-featured-slide::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(15, 23, 42, .04) 20%, rgba(15, 23, 42, .88) 100%);
}

.charta-featured-slide__overlay {
	position: absolute;
	z-index: 2;
	left: clamp(1.1rem, 4vw, 2.5rem);
	right: clamp(1.1rem, 4vw, 2.5rem);
	bottom: clamp(1.3rem, 4vw, 2.5rem);
	max-width: 760px;
	color: #fff;
}

.charta-featured-slide__overlay h2 {
	margin: .55rem 0 .55rem;
	font-size: clamp(1.55rem, 3.6vw, 2.55rem);
	line-height: 1.25;
}

.charta-featured-slide__overlay h2 a,
.charta-featured-slide__overlay h2 a:hover {
	color: #fff;
	text-decoration: none;
}

.charta-featured-slide__overlay p {
	margin: 0;
	max-width: 680px;
	color: rgba(255,255,255,.82);
	font-size: .98rem;
	line-height: 1.7;
}

.charta-featured-badge,
.charta-pinned-badge {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0 .65rem;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
}

.charta-featured-badge {
	background: rgba(255,255,255,.92);
	color: #1e293b;
}

.charta-slider-control {
	position: absolute;
	z-index: 4;
	top: 50%;
	width: 42px;
	height: 42px;
	margin-top: -21px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 50%;
	background: rgba(15,23,42,.42);
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	backdrop-filter: blur(8px);
}

.charta-slider-prev { left: 16px; }
.charta-slider-next { right: 16px; }
.charta-slider-control:hover { background: rgba(15,23,42,.72); transform: none; }

.charta-slider-dots {
	position: absolute;
	z-index: 4;
	right: 20px;
	bottom: 18px;
	display: flex;
	gap: 7px;
}

.charta-slider-dots button {
	width: 8px;
	height: 8px;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.5);
	box-shadow: none;
	transition: width .2s ease, background .2s ease;
}

.charta-slider-dots button.is-active {
	width: 24px;
	background: #fff;
}

.charta-pinned-posts {
	padding: 1.2rem;
	border: 1px solid var(--charta-border, #e2e8f0);
	border-radius: 14px;
	background: var(--charta-card, #fff);
}

.charta-section-heading {
	display: flex;
	align-items: center;
	gap: .65rem;
	margin-bottom: .9rem;
}

.charta-section-heading span {
	padding: .25rem .55rem;
	border-radius: 6px;
	background: var(--charta-primary, #64748b);
	color: #fff;
	font-size: .78rem;
	font-weight: 700;
}

.charta-section-heading strong {
	font-size: 1rem;
}

.charta-pinned-posts__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
}

.charta-pinned-post {
	padding: .9rem;
	border: 1px solid var(--charta-border, #e2e8f0);
	border-radius: 10px;
	background: var(--charta-soft-bg, #f8fafc);
}

.charta-pinned-post h3 {
	margin: .45rem 0 .55rem;
	font-size: .98rem;
	line-height: 1.55;
}

.charta-pinned-post h3 a {
	color: var(--charta-text, #1f2937);
	text-decoration: none;
}

.charta-pinned-post time {
	color: var(--charta-muted, #64748b);
	font-size: .78rem;
}

.charta-pinned-badge {
	min-height: 22px;
	padding: 0 .5rem;
	background: color-mix(in srgb, var(--charta-primary, #64748b) 12%, transparent);
	color: var(--charta-primary, #64748b);
}

@media (max-width: 782px) {
	.charta-featured-slider__viewport { min-height: 260px; aspect-ratio: 4 / 3; }
	.charta-featured-slide__overlay p { display: none; }
	.charta-slider-control { width: 36px; height: 36px; margin-top: -18px; font-size: 1.65rem; }
	.charta-slider-prev { left: 10px; }
	.charta-slider-next { right: 10px; }
	.charta-slider-dots { right: 14px; bottom: 12px; }
	.charta-pinned-posts__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.charta-featured-slide { transition: none; }
}

/* 1.5.16: compact and consistent sidebar vertical rhythm. */
.sidebar {
	--wp--style--block-gap: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.sidebar > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.sidebar > .wp-block-shortcode {
	margin: 0 !important;
}

.sidebar > .wp-block-shortcode:empty {
	display: none;
}

.sidebar :where(.charta-webmaster-card, .charta-friend-links, .charta-sidebar-login, .widget) {
	margin-block: 0 !important;
}

.sidebar .charta-member-entry.is-logged-in {
	padding: 0.25rem 0.25rem 0.15rem;
}

.sidebar .charta-webmaster-card {
	padding-top: 1.05rem;
	padding-bottom: 1.05rem;
}

.sidebar .widget {
	padding-block: 1.1rem;
}

@media (max-width: 880px) {
	.sidebar {
		gap: 0.85rem;
	}
}

/* 1.5.16: polished logged-in member card in the sidebar. */
.charta-member-sidebar-card {
	position: relative;
	overflow: hidden;
	padding: 1.2rem;
	border: 1px solid color-mix(in srgb, var(--charta-accent, #2563eb) 14%, var(--charta-border, #e8ecf1));
	border-radius: 15px;
	background:
		radial-gradient(circle at 100% 0, color-mix(in srgb, var(--charta-accent, #2563eb) 13%, transparent) 0, transparent 42%),
		var(--charta-card, #fff);
	box-shadow: 0 8px 24px rgba(15, 23, 42, .07);
}
.charta-member-sidebar-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--charta-accent, #2563eb);
}
.charta-member-sidebar-card__head {
	display: flex;
	align-items: center;
	gap: .85rem;
}
.charta-member-sidebar-card__avatar {
	flex: 0 0 auto;
	padding: 3px;
	border: 2px solid color-mix(in srgb, var(--charta-accent, #2563eb) 26%, #fff);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 4px 12px rgba(15, 23, 42, .09);
	line-height: 0;
}
.charta-member-sidebar-card__avatar img {
	display: block;
	border-radius: 50%;
}
.charta-member-sidebar-card__identity {
	display: grid;
	min-width: 0;
	gap: .15rem;
}
.charta-member-sidebar-card__identity small {
	color: var(--charta-muted, #667085);
	font-size: .78rem;
}
.charta-member-sidebar-card__identity strong {
	overflow: hidden;
	font-size: 1.06rem;
	line-height: 1.35;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.charta-member-sidebar-card__points {
	display: flex;
	align-items: baseline;
	gap: .35rem;
	margin-top: 1rem;
	padding: .72rem .85rem;
	border: 1px solid color-mix(in srgb, var(--charta-accent, #2563eb) 12%, var(--charta-border, #e8ecf1));
	border-radius: 11px;
	background: color-mix(in srgb, var(--charta-accent, #2563eb) 6%, var(--charta-card, #fff));
}
.charta-member-sidebar-card__points span {
	margin-right: auto;
	color: var(--charta-muted, #667085);
	font-size: .82rem;
}
.charta-member-sidebar-card__points strong {
	color: var(--charta-accent, #2563eb);
	font-size: 1.18rem;
	font-variant-numeric: tabular-nums;
}
.charta-member-sidebar-card__points em {
	color: var(--charta-muted, #667085);
	font-size: .76rem;
	font-style: normal;
}
.charta-member-sidebar-card__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .55rem;
	margin-top: .85rem;
}
.charta-member-sidebar-card__actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: .55rem .8rem;
	border-radius: 9px;
	font-size: .86rem;
	font-weight: 700;
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.charta-member-sidebar-card__actions a:hover {
	transform: translateY(-1px);
}
.charta-member-sidebar-card__actions .is-primary {
	background: var(--charta-accent, #2563eb);
	color: #fff;
	box-shadow: 0 5px 14px color-mix(in srgb, var(--charta-accent, #2563eb) 22%, transparent);
}
.charta-member-sidebar-card__actions .is-secondary {
	border: 1px solid var(--charta-border, #e8ecf1);
	background: var(--charta-card, #fff);
	color: var(--charta-text, #273142);
}
.sidebar .charta-member-sidebar-card {
	margin: 0 !important;
}
@media (max-width: 880px) {
	.charta-member-sidebar-card { padding: 1rem; }
}
