/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.4.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
	overflow-x: auto;
}

/*
 * Codex readability patch for imported long-form articles.
 * Keeps media and long tokens from overflowing the reading column.
 */
.wp-block-post-content,
.entry-content {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.wp-block-post-content a,
.entry-content a {
	overflow-wrap: anywhere;
}

.wp-block-post-content img,
.entry-content img,
.wp-block-post-content video,
.entry-content video,
.wp-block-post-content iframe,
.entry-content iframe,
.wp-block-post-content svg,
.entry-content svg,
.wp-block-post-content canvas,
.entry-content canvas {
	display: block;
	max-width: 100%;
	height: auto;
}

.wp-block-post-content figure,
.entry-content figure {
	max-width: 100%;
	margin-inline: auto;
}

.wp-block-post-content table,
.entry-content table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

.wp-block-post-content pre,
.entry-content pre {
	max-width: 100%;
	overflow-x: auto;
}

.wp-block-post-content p > img:only-child,
.entry-content p > img:only-child {
	margin-inline: auto;
}

/*
 * Codex editorial polish patch for live single-post reading pages.
 * Narrows text measure, gives media its own width, and softens the default theme header.
 */
body.single-post {
	--lq-article-shell: min(1080px, calc(100vw - 48px));
	--lq-article-title: min(920px, calc(100vw - 56px));
	--lq-article-measure: min(740px, calc(100vw - 56px));
	--lq-article-media: min(920px, calc(100vw - 48px));
	--lq-article-wide: min(980px, calc(100vw - 48px));
	--lq-article-bottom: min(920px, calc(100vw - 56px));
	color: #181b1f;
	background:
		radial-gradient(circle at 16% 0%, rgba(255, 255, 255, 0.86), transparent 28%),
		radial-gradient(circle at 84% 4%, rgba(255, 232, 206, 0.44), transparent 22%),
		linear-gradient(180deg, #f7f4ee 0%, #efe9df 100%);
}

body.single-post .wp-site-blocks {
	background: transparent;
}

body.single-post .lq-topbar {
	--line: rgba(23, 26, 31, 0.08);
	--text: #171a1f;
	--muted: rgba(23, 26, 31, 0.62);
	--shadow: 0 18px 48px rgba(28, 31, 36, 0.08);
	position: relative;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	box-sizing: border-box;
	width: min(calc(100vw - 32px), 1200px);
	max-width: 100%;
	margin: 18px auto 0;
	padding: 14px 18px;
	border-radius: 999px;
	backdrop-filter: blur(18px) saturate(124%);
	-webkit-backdrop-filter: blur(18px) saturate(124%);
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.86), rgba(251, 250, 246, 0.72));
	border: 1px solid rgba(23, 26, 31, 0.06);
	box-shadow: 0 14px 34px rgba(28, 31, 36, 0.06);
}

body.single-post .lq-topbar * {
	box-sizing: border-box;
	min-width: 0;
}

body.single-post .lq-topbar a {
	color: inherit;
	text-decoration: none;
}

body.single-post .lq-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
}

body.single-post .lq-brand-mark {
	position: relative;
	width: 32px;
	height: 32px;
	border-radius: 11px;
	background:
		radial-gradient(circle at 28% 20%, rgba(255,255,255,0.9), transparent 42%),
		linear-gradient(160deg, #20252c, #4d5560);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.22);
}

body.single-post .lq-brand-mark::after {
	content: "";
	position: absolute;
	inset: 7px;
	border: 1.6px solid rgba(255,255,255,0.74);
	border-radius: 8px;
}

body.single-post .lq-brand-copy strong {
	display: block;
	font-size: 15px;
	line-height: 1.2;
}

body.single-post .lq-nav {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
}

body.single-post .lq-nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--muted);
	font-size: 15px;
	font-weight: 700;
	transition: color 180ms ease;
}

body.single-post .lq-nav-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 2px;
	border-radius: 999px;
	background: transparent;
	transition: background-color 180ms ease;
}

body.single-post .lq-nav-link:hover,
body.single-post .lq-nav-link.is-active {
	color: var(--text);
}

body.single-post .lq-nav-link:hover::after,
body.single-post .lq-nav-link.is-active::after {
	background: rgba(24, 27, 31, 0.9);
}

body.single-post .lq-nav-item {
	position: relative;
	display: inline-flex;
	align-items: center;
}

body.single-post .lq-nav-toggle {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	padding: 0;
	background: transparent;
	font: inherit;
	line-height: inherit;
	color: inherit;
	cursor: default;
}

body.single-post .lq-nav-item--submenu:hover .lq-nav-toggle,
body.single-post .lq-nav-item--submenu:focus-within .lq-nav-toggle {
	color: var(--text);
}

body.single-post .lq-nav-item--submenu:hover .lq-nav-toggle::after,
body.single-post .lq-nav-item--submenu:focus-within .lq-nav-toggle::after {
	background: rgba(24, 27, 31, 0.9);
}

body.single-post .lq-nav-submenu {
	position: absolute;
	top: calc(100% + 2px);
	left: 50%;
	min-width: 144px;
	padding: 8px;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(251, 250, 246, 0.94));
	border: 1px solid rgba(23, 26, 31, 0.08);
	box-shadow: 0 18px 34px rgba(28, 31, 36, 0.12);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(-6px);
	transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
}

body.single-post .lq-nav-item--submenu:hover .lq-nav-submenu,
body.single-post .lq-nav-item--submenu:focus-within .lq-nav-submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

body.single-post .lq-nav-submenu-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 12px;
	color: var(--muted);
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

body.single-post .lq-nav-submenu-link:hover {
	color: var(--text);
	background: rgba(23, 26, 31, 0.05);
}

body.single-post .lq-single-main {
	margin-top: 0 !important;
}

body.single-post .lq-single-shell {
	max-width: var(--lq-article-shell);
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(42px, 6vw, 72px) 0 clamp(34px, 5vw, 58px);
}

body.single-post .lq-single-header {
	max-width: var(--lq-article-title);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(16px, 3vw, 28px);
	padding-right: clamp(16px, 3vw, 28px);
}

body.single-post .wp-block-post-title {
	max-width: var(--lq-article-title);
	margin: 0 auto !important;
	font-size: clamp(38px, 5vw, 68px) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.075em;
	font-weight: 500;
}

body.single-post .lq-post-meta {
	max-width: var(--lq-article-title);
	margin: 18px auto clamp(42px, 6vw, 72px) !important;
	padding-left: 0;
	padding-right: 0;
	gap: 10px 14px;
	color: rgba(24, 27, 31, 0.52);
	font-size: 14px;
	line-height: 1.5;
}

body.single-post .lq-post-meta a,
body.single-post .lq-post-meta time {
	color: inherit;
	text-decoration: none;
}

body.single-post .lq-post-meta .wp-block-post-terms::before {
	content: "·";
	margin-right: 14px;
	color: rgba(24, 27, 31, 0.34);
}

body.single-post main.wp-block-group {
	margin-top: 0 !important;
}

body.single-post main.wp-block-group > .wp-block-group.alignfull {
	padding-top: 0 !important;
	padding-bottom: clamp(28px, 5vw, 56px) !important;
}

body.single-post .wp-block-post-author,
body.single-post .wp-block-post-author-name,
body.single-post .wp-block-post-author__name {
	display: none !important;
}

body.single-post .wp-block-post-featured-image,
body.single-post .wp-block-group.alignwide {
	max-width: var(--lq-article-shell);
	margin-left: auto !important;
	margin-right: auto !important;
}

body.single-post .entry-content.wp-block-post-content.has-global-padding {
	box-sizing: border-box;
	max-width: var(--lq-article-title);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(16px, 3vw, 28px) !important;
	padding-right: clamp(16px, 3vw, 28px) !important;
}

body.single-post .entry-content.wp-block-post-content,
body.single-post .lq-single-content {
	box-sizing: border-box;
	max-width: var(--lq-article-title);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(16px, 3vw, 28px) !important;
	padding-right: clamp(16px, 3vw, 28px) !important;
	font-size: clamp(18px, 1.3vw, 20px);
	line-height: 1.86;
}

body.single-post .entry-content.wp-block-post-content > :where(
	p,
	h2,
	h3,
	h4,
	h5,
	h6,
	ul,
	ol,
	blockquote
) {
	max-width: var(--lq-article-measure);
	margin-left: 0 !important;
	margin-right: auto !important;
}

body.single-post .entry-content.wp-block-post-content > :first-child {
	margin-top: 0 !important;
}

body.single-post .entry-content.wp-block-post-content > p {
	margin-top: 0;
	margin-bottom: 1.25em;
	color: rgba(24, 27, 31, 0.82);
}

body.single-post .entry-content.wp-block-post-content > :is(ul, ol) {
	padding-left: 1.3em;
	color: rgba(24, 27, 31, 0.82);
}

body.single-post .entry-content.wp-block-post-content > :is(h2, h3) {
	margin-top: clamp(48px, 7vw, 78px) !important;
	margin-bottom: 18px !important;
	color: #181b1f;
	letter-spacing: -0.055em;
}

body.single-post .entry-content.wp-block-post-content > h2 {
	font-size: clamp(30px, 3vw, 42px);
	line-height: 1.18;
	font-weight: 500;
	scroll-margin-top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
}

body.single-post .entry-content.wp-block-post-content > h3 {
	font-size: clamp(24px, 2.2vw, 32px);
	line-height: 1.24;
	font-weight: 500;
	scroll-margin-top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
}

body.single-post .entry-content.wp-block-post-content [id] {
	scroll-margin-top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
}

body.single-post .entry-content.wp-block-post-content > :is(
	pre,
	table,
	.wp-block-table,
	.wp-block-code,
	.wp-block-preformatted,
	iframe,
	video,
	.wp-block-embed,
	.wp-block-video
) {
	max-width: var(--lq-article-wide);
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-top: 32px;
	margin-bottom: 32px;
}

body.single-post .entry-content.wp-block-post-content > :is(
	p:has(> img:only-child),
	p:has(> a:only-child > img:only-child),
	figure,
	.wp-block-image
) {
	max-width: var(--lq-article-media) !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-top: 32px;
	margin-bottom: 32px;
}

body.single-post .entry-content.wp-block-post-content > :is(
	p:has(> img:only-child),
	p:has(> a:only-child > img:only-child),
	figure,
	.wp-block-image
) img {
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(24, 27, 31, 0.08);
}

body.single-post .entry-content.wp-block-post-content .wp-block-table,
body.single-post .entry-content.wp-block-post-content .lq-table-scroll {
	max-width: var(--lq-article-wide);
	margin: 32px auto 32px 0;
	overflow-x: auto;
}

body.single-post .entry-content.wp-block-post-content .wp-block-table table,
body.single-post .entry-content.wp-block-post-content .lq-table-scroll table {
	display: table;
	width: max-content;
	min-width: 100%;
	overflow: visible;
}

body.single-post .entry-content.wp-block-post-content .wp-block-embed__wrapper,
body.single-post .entry-content.wp-block-post-content .lq-embed-box {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(24, 27, 31, 0.08);
}

body.single-post .entry-content.wp-block-post-content .wp-block-embed iframe,
body.single-post .entry-content.wp-block-post-content .lq-embed-box iframe {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
}

body.single-post .entry-content.wp-block-post-content pre {
	padding: 18px 20px;
	border-radius: 18px;
	background: #11151b;
	color: #eef3f8;
}

body.single-post .entry-content.wp-block-post-content :is(
	pre,
	pre code,
	.wp-block-code code,
	code,
	kbd,
	samp
) {
	overflow-wrap: normal !important;
	word-break: normal !important;
}

body.single-post .entry-content.wp-block-post-content :not(pre) > code {
	padding: 0.14em 0.42em;
	border-radius: 8px;
	background: rgba(24, 27, 31, 0.08);
}

body.single-post .wp-block-post-navigation-link {
	max-width: none;
	font-size: 16px;
	line-height: 1.45;
}

body.single-post .lq-post-tags {
	box-sizing: border-box;
	max-width: var(--lq-article-title);
	margin: clamp(36px, 5vw, 56px) auto 0 !important;
	padding-left: clamp(16px, 3vw, 28px);
	padding-right: clamp(16px, 3vw, 28px);
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 14px;
	align-items: baseline;
	color: rgba(24, 27, 31, 0.52);
}

body.single-post .lq-post-tags span {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

body.single-post .lq-post-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.single-post .lq-post-tags a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid rgba(24, 27, 31, 0.08);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.54);
	color: rgba(24, 27, 31, 0.72);
	font-size: 13px;
	line-height: 1;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.single-post .lq-post-tags a:hover {
	background: rgba(255, 255, 255, 0.86);
	border-color: rgba(24, 27, 31, 0.18);
	color: rgba(24, 27, 31, 0.96);
}

body.single-post .lq-single-footer {
	max-width: var(--lq-article-bottom);
	margin: clamp(48px, 7vw, 76px) auto 0 !important;
	padding: 0 clamp(16px, 3vw, 28px);
	box-sizing: border-box;
}

body.single-post .lq-single-nav {
	max-width: none;
	margin: 0 !important;
	padding: 20px 0 18px;
	border-top: 1px solid rgba(24, 27, 31, 0.12);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(20px, 4vw, 32px);
	box-sizing: border-box;
}

body.single-post .lq-single-nav .wp-block-post-navigation-link {
	min-width: 0;
	max-width: none;
	display: block;
	margin-block-start: 0 !important;
}

body.single-post .lq-single-nav .wp-block-post-navigation-link:not(:has(a)) {
	display: none;
}

body.single-post .lq-single-nav:has(.wp-block-post-navigation-link:not(:has(a))) {
	grid-template-columns: 1fr;
}

body.single-post .lq-single-nav .wp-block-post-navigation-link::before {
	display: block;
	margin-bottom: 8px;
	color: rgba(24, 27, 31, 0.44);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.05em;
}

body.single-post .lq-single-nav .post-navigation-link-previous::before {
	content: "上一篇";
}

body.single-post .lq-single-nav .post-navigation-link-next::before {
	content: "下一篇";
}

body.single-post .lq-single-nav .post-navigation-link-next {
	text-align: left;
}

body.single-post .lq-single-nav :is(
	.wp-block-post-navigation-link__arrow-previous,
	.wp-block-post-navigation-link__arrow-next
) {
	display: none !important;
}

body.single-post .lq-single-nav .wp-block-post-navigation-link a {
	display: inline-block;
	max-width: 100%;
	color: rgba(24, 27, 31, 0.82);
	font-size: clamp(15px, 1.35vw, 18px);
	line-height: 1.52;
	letter-spacing: -0.025em;
	font-weight: 500;
	text-decoration: none !important;
	overflow-wrap: anywhere;
}

body.single-post .lq-single-nav .wp-block-post-navigation-link a:hover {
	color: rgba(24, 27, 31, 1);
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.16em;
}

@media (max-width: 720px) {
	body.single-post .lq-post-tags {
		grid-template-columns: 1fr;
	}

	body.single-post .lq-single-nav {
		grid-template-columns: 1fr;
	}

	body.single-post .lq-single-nav .post-navigation-link-next {
		text-align: left;
	}
}

body.single-post :is(
	.wp-block-comments,
	.wp-block-post-comments,
	.wp-block-post-comments-form,
	.comments-area,
	.comment-respond
) {
	display: none !important;
}

body.single-post footer.wp-block-template-part {
	display: none !important;
}

body.single-post .lq-related-posts {
	max-width: none;
	margin: 24px 0 0;
	padding: 0 0 10px;
}

body.single-post .lq-related-posts h2 {
	margin: 0 0 14px;
	color: rgba(24, 27, 31, 0.56);
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: 0.06em;
	font-weight: 700;
}

body.single-post .lq-related-list {
	display: grid;
	gap: 0;
}

body.single-post .lq-related-item {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	padding: 18px 0;
	border-top: 1px solid rgba(24, 27, 31, 0.1);
	color: inherit;
	text-decoration: none;
}

body.single-post .lq-related-copy {
	display: block;
}

body.single-post .lq-related-item strong {
	display: block;
	font-size: clamp(15px, 1.4vw, 17px);
	line-height: 1.5;
	letter-spacing: -0.02em;
	font-weight: 500;
}

body.single-post .lq-related-item time {
	color: rgba(24, 27, 31, 0.5);
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	white-space: nowrap;
	padding-top: 3px;
}

body.single-post .lq-related-item:hover strong {
	text-decoration: underline;
	text-decoration-thickness: 1.2px;
	text-underline-offset: 0.16em;
}

@media (max-width: 720px) {
	body.single-post {
		--lq-article-shell: calc(100vw - 28px);
		--lq-article-measure: calc(100vw - 36px);
		--lq-article-bottom: calc(100vw - 36px);
	}

	body.single-post .lq-topbar {
		width: calc(100vw - 24px);
		margin-top: 12px;
		padding: 14px 16px;
	}

	body.single-post .lq-nav {
		gap: 20px;
	}

	body.single-post .lq-nav-submenu {
		left: auto;
		right: 0;
		transform: translateY(-6px);
	}

	body.single-post .lq-nav-item--submenu:hover .lq-nav-submenu,
	body.single-post .lq-nav-item--submenu:focus-within .lq-nav-submenu {
		transform: translateY(0);
	}

	body.single-post .wp-block-post-title {
		font-size: clamp(34px, 10vw, 48px) !important;
		margin-top: 42px !important;
	}

	body.single-post .lq-related-item {
		grid-template-columns: 1fr;
		gap: 6px;
	}
}
