/*
Theme Name: NEO
Theme URI: https://example.com/neo
Author: NEO
Author URI: https://example.com
Description: NEO —— 朋友圈式三栏博客主题。中间栏为朋友圈风格的时间线动态流,左栏为博主资料与导航,右栏为小工具区。支持暗色模式、点赞、加载更多、图片灯箱与完整响应式。
Version: 1.8.9
Requires at least: 5.9
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: neo
Tags: blog, two-columns, three-columns, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, rtl-language-support
*/

/* ==========================================================================
   1. 设计变量(亮色 / 暗色)
   ========================================================================== */
:root {
	--neo-bg: #f2f3f5;
	--neo-card: #ffffff;
	--neo-card-weak: #f7f8fa;
	--neo-text: #1a1d21;
	--neo-text-2: #5c6470;
	--neo-text-3: #9aa1ab;
	--neo-border: #e8eaee;
	--neo-accent: #07c160;
	--neo-accent-weak: rgba(7, 193, 96, 0.1);
	--neo-link: #576b95;
	--neo-name: #12b7f5;
	--neo-danger: #fa5151;
	--neo-shadow: 0 2px 12px rgba(26, 29, 33, 0.06);
	--neo-radius: 12px;
	--neo-radius-sm: 8px;
	--neo-topbar-h: 56px;
	--neo-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
	--neo-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

[data-theme="dark"] {
	--neo-bg: #101318;
	--neo-card: #191d24;
	--neo-card-weak: #232833;
	--neo-text: #e6e8ea;
	--neo-text-2: #a4abb4;
	--neo-text-3: #7d8492;
	--neo-border: #2f3542;
	--neo-accent: #2fd575;
	--neo-accent-weak: rgba(47, 213, 117, 0.14);
	--neo-link: #8ba0c8;
	--neo-name: #6cb8ff;
	--neo-danger: #ff6b6b;
	--neo-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

/* ==========================================================================
   2. 基础重置
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	font-family: var(--neo-font);
	font-size: 15px;
	line-height: 1.7;
	color: var(--neo-text);
	background: var(--neo-bg);
	-webkit-font-smoothing: antialiased;
	transition: background-color 0.25s ease, color 0.25s ease;
}

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

a {
	color: var(--neo-link);
	text-decoration: none;
	transition: color 0.15s ease;
}

a:hover {
	color: var(--neo-accent);
}

button {
	font-family: inherit;
	cursor: pointer;
}

::selection {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

:focus-visible {
	outline: 2px solid var(--neo-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999999;
}

.skip-link:focus {
	left: 12px;
	top: 12px;
	background: var(--neo-card);
	color: var(--neo-accent);
	padding: 8px 16px;
	border-radius: 8px;
	box-shadow: var(--neo-shadow);
}

/* ==========================================================================
   3. 顶栏
   ========================================================================== */
.neo-topbar {
	position: sticky;
	top: 0;
	z-index: 100;
	height: var(--neo-topbar-h);
	background: color-mix(in srgb, var(--neo-card) 88%, transparent);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--neo-border);
}

.neo-topbar__inner {
	max-width: 1240px;
	height: 100%;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.neo-brand {
	display: flex;
	align-items: center;
	min-width: 0;
}

.neo-brand a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 17px;
	font-weight: 700;
	color: var(--neo-text);
	letter-spacing: 0.5px;
}

.neo-brand a:hover {
	color: var(--neo-accent);
}

.neo-brand__dot {
	width: 10px;
	height: 10px;
	border-radius: 4px;
	background: var(--neo-accent);
	box-shadow: 0 0 0 4px var(--neo-accent-weak);
}

.neo-brand .custom-logo {
	max-height: 34px;
	width: auto;
}

.neo-topbar__actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

.neo-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-2);
	transition: background-color 0.15s ease, color 0.15s ease;
}

.neo-icon-btn:hover {
	background: var(--neo-card-weak);
	color: var(--neo-accent);
}

.neo-icon-btn svg {
	width: 19px;
	height: 19px;
}

/* 亮色显示月亮(点击进入暗色),暗色显示太阳 */
.neo-theme-toggle__moon {
	display: none;
}

[data-theme="dark"] .neo-theme-toggle__sun {
	display: none;
}

[data-theme="dark"] .neo-theme-toggle__moon {
	display: block;
}

.neo-icon-btn--accent {
	color: #fff;
	background: var(--neo-accent);
}

.neo-icon-btn--accent:hover {
	color: #fff;
	opacity: 0.85;
	background: var(--neo-accent);
}

/* 顶栏搜索 */
.neo-topbar__search {
	display: flex;
	align-items: center;
	background: var(--neo-card-weak);
	border-radius: 999px;
	border: 1px solid transparent;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.neo-topbar__search:focus-within {
	border-color: var(--neo-accent);
}

.neo-topbar__search input {
	width: 150px;
	height: 34px;
	padding: 0 14px;
	border: none;
	background: transparent;
	font-size: 13px;
	color: var(--neo-text);
	outline: none;
}

.neo-topbar__search input::placeholder {
	color: var(--neo-text-3);
}

.neo-topbar__search button {
	width: 34px;
	height: 34px;
	border: none;
	background: transparent;
	color: var(--neo-text-3);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.neo-topbar__search button:hover {
	color: var(--neo-accent);
}

.neo-topbar__search button svg {
	width: 16px;
	height: 16px;
}

.neo-menu-toggle {
	display: none;
}

/* ==========================================================================
   4. 三栏布局骨架
   ========================================================================== */
.neo-shell {
	max-width: 1240px;
	margin: 24px auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr) 300px;
	gap: 20px;
	align-items: start;
}

.neo-main {
	min-width: 0;
}

/* 首页封面属于中间信息流，不占用三栏之外的整页宽度。 */
.neo-main .neo-hero {
	max-width: none;
	margin: 0 0 12px;
	padding: 0;
}

.neo-left,
.neo-right {
	position: sticky;
	top: calc(var(--neo-topbar-h) + 16px);
}

.neo-right {
	max-height: calc(100vh - var(--neo-topbar-h) - 32px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: var(--neo-border) transparent;
}

.neo-right::-webkit-scrollbar {
	width: 4px;
}

.neo-right::-webkit-scrollbar-thumb {
	background: var(--neo-border);
	border-radius: 4px;
}

.neo-backdrop {
	position: fixed;
	inset: 0;
	z-index: 98;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.neo-backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
}

/* ==========================================================================
   5. 卡片与小工具通用
   ========================================================================== */
.neo-card {
	background: var(--neo-card);
	border-radius: var(--neo-radius);
	box-shadow: var(--neo-shadow);
	transition: background-color 0.25s ease;
}

.neo-widget {
	background: var(--neo-card);
	border-radius: var(--neo-radius);
	box-shadow: var(--neo-shadow);
	padding: 18px;
	margin-bottom: 16px;
	font-size: 14px;
}

.neo-widget__title {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--neo-text-3);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.neo-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.neo-widget ul li {
	margin: 0;
	padding: 0;
}

/* WP默认小工具样式兼容 */
.neo-widget .widget-title,
.neo-widget .wp-block-heading {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--neo-text-3);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.neo-widget ul li {
	padding: 7px 0;
	border-bottom: 1px solid var(--neo-border);
}

.neo-widget ul li:last-child {
	border-bottom: none;
}

.neo-widget ul li a {
	color: var(--neo-text-2);
	transition: color 0.15s ease;
}

.neo-widget ul li a:hover {
	color: var(--neo-accent);
}

.neo-widget ul ul {
	margin-top: 6px;
	margin-left: 12px;
}

.neo-widget ul ul li {
	padding: 4px 0;
	border-bottom: none;
	font-size: 13px;
}

/* 最新文章/评论小工具 */
.neo-widget .post-date,
.neo-widget .recentcomments .comment-author-link + a,
.neo-widget li .rssSummary {
	display: block;
	font-size: 12px;
	color: var(--neo-text-3);
	margin-top: 2px;
}

/* 标签云 */
.neo-widget .tagcloud,
.neo-widget .wp-block-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.neo-widget .tagcloud a,
.neo-widget .wp-block-tag-cloud a {
	display: inline-block;
	padding: 3px 10px;
	font-size: 12px !important;
	color: var(--neo-text-2);
	background: var(--neo-card-weak);
	border-radius: 999px;
	text-decoration: none;
	transition: all 0.15s ease;
}

.neo-widget .tagcloud a:hover,
.neo-widget .wp-block-tag-cloud a:hover {
	color: var(--neo-accent);
	background: var(--neo-accent-weak);
}

/* 导航菜单小工具 */
.neo-widget .menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.neo-widget .menu li {
	padding: 0;
	border-bottom: none;
}

.neo-widget .menu li a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: var(--neo-radius-sm);
	color: var(--neo-text-2);
	text-decoration: none;
	transition: all 0.15s ease;
}

.neo-widget .menu li a:hover,
.neo-widget .menu li.current-menu-item a,
.neo-widget .menu li.current_page_item a {
	color: var(--neo-accent);
	background: var(--neo-accent-weak);
}

.neo-widget .menu .sub-menu {
	margin: 2px 0 4px 16px;
	padding: 0;
	list-style: none;
}

/* 搜索小工具 */
.neo-widget .search-form,
.neo-widget .wp-block-search {
	position: relative;
}

.neo-widget .search-form input[type="search"],
.neo-widget .wp-block-search__input {
	width: 100%;
	height: 38px;
	padding: 0 42px 0 14px;
	border: 1px solid var(--neo-border);
	border-radius: var(--neo-radius-sm);
	background: var(--neo-card-weak);
	color: var(--neo-text);
	font-size: 13px;
	outline: none;
	transition: border-color 0.15s ease;
	box-sizing: border-box;
}

.neo-widget .search-form input[type="search"]:focus,
.neo-widget .wp-block-search__input:focus {
	border-color: var(--neo-accent);
}

.neo-widget .search-form input[type="submit"],
.neo-widget .wp-block-search__button {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border: none;
	border-radius: var(--neo-radius-sm);
	background: transparent;
	color: var(--neo-text-3);
	cursor: pointer;
}

.neo-widget .search-form label {
	display: block;
}

/* 日历小工具 */
.neo-widget #wp-calendar {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.neo-widget #wp-calendar th,
.neo-widget #wp-calendar td {
	padding: 4px;
	text-align: center;
}

.neo-widget #wp-calendar caption {
	font-weight: 600;
	margin-bottom: 6px;
	color: var(--neo-text);
}

.neo-widget #wp-calendar a {
	color: var(--neo-accent);
	font-weight: 600;
}

/* 文本/自定义HTML小工具 */
.neo-widget .textwidget,
.neo-widget .custom-html-widget {
	color: var(--neo-text-2);
	font-size: 13px;
	line-height: 1.7;
}

.neo-widget .textwidget p,
.neo-widget .custom-html-widget p {
	margin: 0 0 10px;
}

.neo-widget .textwidget p:last-child,
.neo-widget .custom-html-widget p:last-child {
	margin-bottom: 0;
}

.neo-widget .textwidget img,
.neo-widget .custom-html-widget img {
	max-width: 100%;
	height: auto;
	border-radius: var(--neo-radius-sm);
}

/* 小工具内的博主资料卡 */
.neo-widget--profile .neo-profile {
	padding: 0;
	margin-bottom: 0;
	text-align: center;
	background: transparent;
	box-shadow: none;
}

.neo-widget--profile .neo-profile__avatar {
	margin-top: 0;
}

/* ==========================================================================
   6. 左栏:导航
   ========================================================================== */

.neo-profile__avatar {
	width: 76px;
	height: 76px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 12px;
	border: 3px solid var(--neo-card);
	box-shadow: 0 0 0 2px var(--neo-accent-weak), var(--neo-shadow);
}

.neo-profile__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.neo-profile__name {
	font-size: 17px;
	font-weight: 700;
	color: var(--neo-text);
	margin: 0 0 4px;
}

.neo-profile__bio {
	font-size: 13px;
	color: var(--neo-text-3);
	line-height: 1.6;
	margin: 0 0 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.neo-profile-music {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 28px;
	align-items: center;
	gap: 8px;
	margin: -6px 0 14px;
	padding: 6px 7px 6px 6px;
	border: 1px solid var(--neo-border);
	border-radius: 7px;
	background: var(--neo-card-weak);
	text-align: left;
}

.neo-profile-music__cover {
	width: 34px;
	height: 34px;
	overflow: hidden;
	border-radius: 5px;
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
	display: grid;
	place-items: center;
	font-size: 18px;
}

.neo-profile-music__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-profile-music__meta {
	min-width: 0;
}

.neo-profile-music__meta strong,
.neo-profile-music__meta span {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.neo-profile-music__meta strong {
	font-size: 12px;
	line-height: 1.35;
}

.neo-profile-music__meta span {
	margin-top: 2px;
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-profile-music__play,
.neo-music-card__play {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--neo-accent);
	color: #fff;
	font-size: 11px;
}

.neo-profile-music__play:hover,
.neo-music-card__play:hover {
	filter: brightness(.94);
}

.neo-music-card {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) 34px;
	align-items: center;
	gap: 12px;
	margin: 12px 0;
	padding: 10px;
	border: 1px solid var(--neo-border);
	border-radius: 9px;
	background: var(--neo-card-weak);
}

.neo-music-card__cover {
	width: 76px;
	height: 76px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
	display: grid;
	place-items: center;
	font-size: 28px;
}

.neo-music-card__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-music-card__body {
	min-width: 0;
}

.neo-music-card__title,
.neo-music-card__artist,
.neo-music-card__source {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.neo-music-card__title {
	font-size: 16px;
	line-height: 1.45;
}

.neo-music-card__artist {
	margin-top: 3px;
	color: var(--neo-text-2);
	font-size: 13px;
}

.neo-music-card__source {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-music-card__source a {
	color: var(--neo-link);
}

.neo-music-card__play {
	width: 34px;
	height: 34px;
	font-size: 13px;
}

.neo-music-card.is-playing .neo-music-card__play,
.neo-profile-music.is-playing .neo-profile-music__play {
	background: var(--neo-danger);
}

.neo-music-card audio,
.neo-profile-music audio {
	display: none;
}

.neo-profile__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--neo-border);
	padding-top: 14px;
}

.neo-profile__stat {
	display: block;
	color: inherit;
	text-align: center;
	border-right: 1px solid var(--neo-border);
}

.neo-profile__stat:last-child {
	border-right: none;
}

.neo-profile__stat:hover {
	color: inherit;
}

.neo-profile__stat b {
	display: block;
	font-size: 16px;
	color: var(--neo-text);
}

.neo-profile__stat span {
	font-size: 11px;
	color: var(--neo-text-3);
}

/* 导航 */
.neo-nav {
	padding: 10px;
	margin-bottom: 16px;
}

.neo-nav__title {
	font-size: 12px;
	font-weight: 600;
	color: var(--neo-text-3);
	letter-spacing: 1px;
	padding: 6px 10px;
	margin: 0 0 4px;
}

.neo-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.neo-nav li {
	margin: 0;
	padding: 0;
}

.neo-nav a {
	display: block;
	padding: 9px 12px;
	border-radius: var(--neo-radius-sm);
	font-size: 14px;
	color: var(--neo-text-2);
	transition: background-color 0.15s ease, color 0.15s ease;
}

.neo-nav a:hover {
	background: var(--neo-card-weak);
	color: var(--neo-accent);
}

.neo-nav .current-menu-item > a,
.neo-nav .current_page_item > a {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
	font-weight: 600;
}

/* ==========================================================================
   7. 顶部封面(QQ空间个人主页式)
   ========================================================================== */
.neo-hero {
	max-width: 1240px;
	margin: 24px auto 0;
	padding: 0 20px;
}

.neo-hero__cover {
	height: 260px;
	background-size: cover;
	background-position: center;
	border-radius: var(--neo-radius) var(--neo-radius) 0 0;
	box-shadow: var(--neo-shadow);
	transition: background-color 0.25s ease;
}

.neo-hero__bar {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	flex-wrap: wrap;
	padding: 0 24px 16px;
	background: var(--neo-card);
	border-radius: 0 0 var(--neo-radius) var(--neo-radius);
	box-shadow: var(--neo-shadow);
	transition: background-color 0.25s ease;
}

.neo-hero__avatar {
	flex-shrink: 0;
	display: block;
	width: 84px;
	height: 84px;
	margin-top: -42px;
	border: 4px solid var(--neo-card);
	border-radius: 50%;
	background: var(--neo-card);
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(26, 29, 33, 0.14);
}

.neo-hero__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.neo-hero__info {
	flex: 1;
	min-width: 200px;
	padding-top: 12px;
}

.neo-hero__nameline {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.neo-hero__name {
	font-size: 19px;
	font-weight: 700;
	color: var(--neo-text);
}

.neo-hero__name:hover {
	color: var(--neo-name);
}

.neo-hero__vip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 10px;
	border-radius: 999px;
	background: linear-gradient(135deg, #a86bff, #7b5cff);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(123, 92, 255, 0.35);
}

.neo-hero__vip svg {
	width: 11px;
	height: 11px;
}

.neo-hero__bio {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--neo-text-3);
	max-width: 520px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-hero__stats {
	display: flex;
	align-items: center;
	gap: 28px;
	padding-top: 14px;
	margin-left: auto;
}

.neo-hero__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	text-decoration: none;
}

.neo-hero__stat b {
	font-size: 17px;
	font-weight: 700;
	color: var(--neo-text);
}

.neo-hero__stat span {
	font-size: 12px;
	color: var(--neo-text-3);
}

/* ==========================================================================
   8. 信息流卡片(朋友圈式)
   ========================================================================== */
.neo-feed {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.neo-card--feed {
	display: flex;
	gap: 12px;
	padding: 16px 18px;
}

.neo-card__avatar {
	flex-shrink: 0;
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	overflow: hidden;
}

.neo-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.neo-card__body {
	flex: 1;
	min-width: 0;
}

.neo-card__head {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.neo-card__name {
	font-size: 15px;
	font-weight: 600;
	color: var(--neo-name);
}

.neo-card__name:hover {
	color: var(--neo-accent);
}

.neo-card__badge {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 500;
	color: var(--neo-text-3);
	background: var(--neo-card-weak);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 96px;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.neo-card__badge:hover {
	color: var(--neo-accent);
	background: var(--neo-accent-weak);
}

.neo-card__time {
	font-size: 12px;
	color: var(--neo-text-3);
	white-space: nowrap;
}

/* "…"三点更多 + 操作菜单 */
.neo-card__morewrap {
	position: relative;
	margin-left: auto;
	flex-shrink: 0;
}

.neo-card__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-2);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.neo-card__more:hover {
	background: var(--neo-card-weak);
	color: var(--neo-text);
}

.neo-card__more svg {
	width: 18px;
	height: 18px;
}

.neo-card__menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 30;
	min-width: 128px;
	padding: 4px;
	background: var(--neo-card);
	border: 1px solid var(--neo-border);
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(26, 29, 33, 0.14);
}

.neo-card__menu-item {
	display: block;
	width: 100%;
	padding: 8px 12px;
	border: none;
	border-radius: 7px;
	background: transparent;
	font-size: 13px;
	color: var(--neo-text-2);
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.12s ease, color 0.12s ease;
}

.neo-card__menu-item:hover {
	background: var(--neo-card-weak);
	color: var(--neo-text);
}

.neo-card__title {
	margin: 8px 0 6px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

.neo-card__title a {
	color: var(--neo-text);
}

.neo-card__title a:hover {
	color: var(--neo-accent);
}

.neo-card__text {
	margin: 2px 0 0;
	font-size: 15px;
	color: var(--neo-text);
	word-break: break-word;
	overflow-wrap: anywhere;
	white-space: normal;
}

.neo-card__copy {
	white-space: pre-line;
}

.neo-card__lead {
	font-weight: 600;
	color: var(--neo-text);
	margin-right: 6px;
}

.neo-card__lead:hover {
	color: var(--neo-accent);
}

/* 图片九宫格 */
.neo-grid {
	margin-top: 10px;
	display: grid;
	gap: 4px;
}

.neo-grid--cols-2 {
	grid-template-columns: repeat(2, 1fr);
}

.neo-grid--cols-3 {
	grid-template-columns: repeat(3, 1fr);
}

.neo-grid__item {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 10px;
	overflow: hidden;
	background: var(--neo-card-weak);
	cursor: zoom-in;
}

.neo-grid__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.neo-grid__item:hover img {
	transform: scale(1.04);
}

.neo-grid__item--single {
	aspect-ratio: auto;
	width: 100%;
	max-height: 420px;
}

.neo-grid__item--single img {
	width: 100%;
	max-height: 420px;
	object-fit: cover;
}

/* 卡片底部:时间 + 标签 + 操作 */
.neo-card__foot {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	flex-wrap: wrap;
}

.neo-tags {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	min-width: 0;
}

.neo-tag {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 12px;
	color: var(--neo-text-3);
	background: var(--neo-card-weak);
	transition: color 0.15s ease, background-color 0.15s ease;
	max-width: 120px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.neo-tag:hover {
	color: var(--neo-accent);
	background: var(--neo-accent-weak);
}

.neo-actions {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	margin-left: auto;
}

/* 发布框(说说输入区) */
.neo-composer {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	background: var(--neo-card);
	border-radius: var(--neo-radius);
	box-shadow: var(--neo-shadow);
}

.neo-composer__avatar {
	flex-shrink: 0;
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
}

.neo-composer__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.neo-composer__input {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	height: 42px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--neo-card-weak);
	color: var(--neo-text-3);
	font-size: 14px;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.neo-composer__input:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-text-2);
}

.neo-composer__btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: var(--neo-text-3);
	transition: background-color 0.15s ease, color 0.15s ease;
}

.neo-composer__btn:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-composer__btn svg {
	width: 22px;
	height: 22px;
}

.neo-action {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 30px;
	padding: 0 10px;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: var(--neo-text-3);
	font-size: 13px;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.neo-action:hover {
	background: var(--neo-card-weak);
	color: var(--neo-accent);
}

.neo-action svg,
.neo-action__icon {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	object-fit: contain;
}

a.neo-action {
	text-decoration: none;
}

/* 点赞 */
.neo-like.is-liked {
	color: var(--neo-danger);
}

.neo-like.is-liked:hover {
	color: var(--neo-danger);
}

.neo-like__pop {
	animation: neo-pop 0.35s ease;
}

[data-theme="dark"] .neo-action__icon {
	filter: invert(1) brightness(1.15);
}

@keyframes neo-pop {
	0% { transform: scale(1); }
	40% { transform: scale(1.35); }
	100% { transform: scale(1); }
}

/* ==========================================================================
   8. 归档 / 搜索 页头
   ========================================================================== */
.neo-pagehead {
	padding: 20px;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.neo-pagehead__avatar {
	width: 56px;
	height: 56px;
	border-radius: var(--neo-radius-sm);
	overflow: hidden;
	flex-shrink: 0;
}

.neo-pagehead__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.neo-pagehead h1 {
	margin: 0 0 2px;
	font-size: 18px;
	font-weight: 700;
}

.neo-pagehead p {
	margin: 0;
	font-size: 13px;
	color: var(--neo-text-3);
}

/* ==========================================================================
   9. 加载更多
   ========================================================================== */
.neo-loadmore {
	display: flex;
	justify-content: center;
	padding: 8px 0 4px;
}

.neo-loadmore__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 200px;
	height: 40px;
	padding: 0 24px;
	border: 1px solid var(--neo-border);
	border-radius: 999px;
	background: var(--neo-card);
	color: var(--neo-text-2);
	font-size: 14px;
	box-shadow: var(--neo-shadow);
	transition: border-color 0.15s ease, color 0.15s ease;
}

.neo-loadmore__btn:hover {
	border-color: var(--neo-accent);
	color: var(--neo-accent);
}

.neo-loadmore__btn.is-loading {
	pointer-events: none;
	opacity: 0.6;
}

.neo-loadmore__btn.is-loading::before {
	content: "";
	width: 14px;
	height: 14px;
	border: 2px solid var(--neo-border);
	border-top-color: var(--neo-accent);
	border-radius: 50%;
	animation: neo-spin 0.7s linear infinite;
}

@keyframes neo-spin {
	to { transform: rotate(360deg); }
}

.neo-loadmore--done {
	border: none;
	box-shadow: none;
	background: transparent;
	color: var(--neo-text-3);
	font-size: 13px;
	cursor: default;
}

/* ==========================================================================
   10. 文章页
   ========================================================================== */
.neo-card--single {
	padding: 24px;
}

.neo-entry {
	margin-top: 12px;
	font-size: 15.5px;
	line-height: 1.9;
	color: var(--neo-text);
	word-break: break-word;
}

.neo-entry > *:first-child {
	margin-top: 0;
}

.neo-entry > *:last-child {
	margin-bottom: 0;
}

.neo-entry p {
	margin: 1em 0;
}

.neo-entry h1,
.neo-entry h2,
.neo-entry h3,
.neo-entry h4,
.neo-entry h5,
.neo-entry h6 {
	margin: 1.6em 0 0.8em;
	line-height: 1.4;
}

.neo-entry h2 { font-size: 1.35em; }
.neo-entry h3 { font-size: 1.18em; }
.neo-entry h4 { font-size: 1.05em; }

.neo-entry a {
	border-bottom: 1px solid var(--neo-border);
}

.neo-entry a:hover {
	border-bottom-color: var(--neo-accent);
}

.neo-entry blockquote {
	margin: 1.2em 0;
	padding: 10px 16px;
	border-left: 3px solid var(--neo-accent);
	background: var(--neo-card-weak);
	border-radius: 0 var(--neo-radius-sm) var(--neo-radius-sm) 0;
	color: var(--neo-text-2);
}

.neo-entry blockquote p {
	margin: 0.5em 0;
}

.neo-entry code {
	font-family: var(--neo-mono);
	font-size: 0.88em;
	padding: 2px 6px;
	border-radius: 5px;
	background: var(--neo-card-weak);
}

.neo-entry pre {
	background: var(--neo-card-weak);
	border: 1px solid var(--neo-border);
	border-radius: var(--neo-radius-sm);
	padding: 14px 16px;
	overflow: auto;
	line-height: 1.6;
}

.neo-entry pre code {
	background: none;
	padding: 0;
	font-size: 0.9em;
}

.neo-entry img {
	border-radius: var(--neo-radius-sm);
}

.neo-entry ul,
.neo-entry ol {
	padding-left: 1.6em;
}

.neo-entry li {
	margin: 0.3em 0;
}

.neo-entry table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.2em 0;
	font-size: 0.95em;
}

.neo-entry th,
.neo-entry td {
	border: 1px solid var(--neo-border);
	padding: 8px 12px;
	text-align: left;
}

.neo-entry th {
	background: var(--neo-card-weak);
}

.neo-entry hr {
	border: none;
	border-top: 1px solid var(--neo-border);
	margin: 2em 0;
}

.neo-entry .wp-caption {
	max-width: 100%;
}

.neo-entry .wp-caption-text {
	text-align: center;
	font-size: 13px;
	color: var(--neo-text-3);
	padding: 6px 0 0;
}

.neo-entry .wp-block-gallery {
	margin: 1.2em 0;
}

/* 文章页工具条 */
.neo-single-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--neo-border);
	flex-wrap: wrap;
}

.neo-single-bar .neo-tags {
	flex: 1 1 auto;
	min-width: 0;
	margin-right: 0;
}

.neo-single-bar .neo-actions {
	min-width: 0;
}

.neo-single-bar .neo-action {
	flex: 0 0 auto;
}

.neo-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 20px;
	border: none;
	border-radius: 999px;
	background: var(--neo-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	transition: opacity 0.15s ease;
}

.neo-btn:hover {
	opacity: 0.88;
	color: #fff;
}

.neo-btn.is-liked {
	background: var(--neo-danger);
}

.neo-btn.is-liked svg {
	fill: currentColor;
}

.neo-btn svg {
	width: 16px;
	height: 16px;
}

.neo-entry-footer {
	margin-top: 4px;
}

/* ==========================================================================
   11. 评论区(朋友圈式)
   ========================================================================== */
.neo-comments {
	margin-top: 16px;
	padding: 20px;
}

.neo-comments__title {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 700;
}

.neo-comments__title .neo-comments__count {
	color: var(--neo-text-3);
	font-weight: 400;
	font-size: 13px;
	margin-left: 6px;
}

.neo-comments__list,
.neo-comments__list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.neo-comments__list > li {
	margin-bottom: 10px;
}

.neo-comments__list ul.children {
	margin-top: 10px;
	padding-left: 14px;
	border-left: 2px solid var(--neo-border);
}

/* 评论气泡:适配 WordPress 默认评论结构 */
.neo-comments__list .comment-body {
	position: relative;
	padding: 10px 14px 10px 58px;
	background: var(--neo-card-weak);
	border-radius: var(--neo-radius-sm);
}

.neo-comments__list .comment-author {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.neo-comments__list .comment-author img.avatar {
	position: absolute;
	left: 14px;
	top: 12px;
	width: 32px;
	height: 32px;
	border-radius: 6px;
}

.neo-comments__list .comment-author .fn {
	font-size: 13px;
	font-weight: 600;
	color: var(--neo-link);
}

.neo-comments__list .comment-author .fn a {
	color: inherit;
}

.neo-comments__list .says {
	font-size: 11px;
	color: var(--neo-text-3);
}

.neo-comments__list .comment-metadata {
	position: absolute;
	top: 12px;
	right: 14px;
	margin: 0;
	font-size: 11px;
}

.neo-comments__list .comment-metadata a {
	color: var(--neo-text-3);
}

.neo-comments__list .comment-metadata a:hover {
	color: var(--neo-accent);
}

.neo-comments__list .comment-content {
	margin: 2px 0 0;
	font-size: 14px;
	color: var(--neo-text);
	word-break: break-word;
}

.neo-comments__list .comment-content p {
	margin: 0.3em 0;
}

.neo-comments__list .reply {
	margin: 2px 0 0;
}

.neo-comments__list .reply a {
	font-size: 12px;
	color: var(--neo-text-3);
}

.neo-comments__list .reply a:hover {
	color: var(--neo-accent);
}

.neo-comments__closed {
	margin: 12px 0 0;
	font-size: 13px;
	color: var(--neo-text-3);
	text-align: center;
}

.bypostauthor > .comment-body {
	box-shadow: inset 0 0 0 1px var(--neo-accent-weak);
}

.neo-comments__nav {
	display: flex;
	justify-content: space-between;
	margin: 14px 0 0;
	font-size: 13px;
}

/* 评论表单 */
.neo-comment-form {
	margin-top: 18px;
}

.neo-comment-form .comment-reply-title {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 12px;
}

.neo-comment-form textarea,
.neo-comment-form input[type="text"],
.neo-comment-form input[type="email"],
.neo-comment-form input[type="url"] {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--neo-border);
	border-radius: var(--neo-radius-sm);
	background: var(--neo-card-weak);
	color: var(--neo-text);
	font-size: 14px;
	font-family: inherit;
	transition: border-color 0.15s ease;
}

.neo-comment-form textarea:focus,
.neo-comment-form input:focus {
	border-color: var(--neo-accent);
	outline: none;
}

.neo-comment-form textarea {
	min-height: 90px;
	resize: vertical;
}

.neo-comment-form .comment-form-author,
.neo-comment-form .comment-form-email,
.neo-comment-form .comment-form-url {
	margin: 10px 0 0;
}

.neo-comment-form .comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--neo-text-3);
	margin: 12px 0;
}

.neo-comment-form .form-submit {
	margin: 14px 0 0;
}

.neo-comment-form .submit {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 22px;
	border: none;
	border-radius: 999px;
	background: var(--neo-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

.neo-comment-form .submit:hover {
	opacity: 0.88;
}

.neo-comment-form__editor {
	position: relative;
}

.neo-comment-form__toolbar {
	display: flex;
	align-items: center;
	min-height: 34px;
	padding: 2px 0 0;
}

.neo-comment-form__emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-2);
	font-size: 20px;
	line-height: 1;
}

.neo-comment-form__emoji:hover,
.neo-comment-form__emoji[aria-expanded="true"],
.neo-publisher__tools [data-neo-emoji-toggle][aria-expanded="true"],
.neo-comment-modal__tools [data-neo-emoji-toggle][aria-expanded="true"] {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-comment-form .logged-in-as,
.neo-comment-form .comment-notes {
	font-size: 13px;
	color: var(--neo-text-3);
	margin: 0 0 10px;
}

/* ==========================================================================
   12. 搜索 / 404 / 空状态
   ========================================================================== */
.neo-empty {
	text-align: center;
	padding: 56px 24px;
}

.neo-empty__icon {
	font-size: 40px;
	margin-bottom: 12px;
}

.neo-empty h2 {
	margin: 0 0 8px;
	font-size: 17px;
}

.neo-empty p {
	margin: 0 0 18px;
	color: var(--neo-text-3);
	font-size: 14px;
}

.neo-empty .neo-search {
	margin: 0 auto 14px;
	max-width: 320px;
}

/* 侧栏搜索表单 */
.neo-search {
	display: flex;
	align-items: center;
	background: var(--neo-card-weak);
	border: 1px solid var(--neo-border);
	border-radius: 999px;
	padding: 2px 2px 2px 14px;
	transition: border-color 0.2s ease;
}

.neo-search:focus-within {
	border-color: var(--neo-accent);
}

.neo-search input {
	flex: 1;
	min-width: 0;
	height: 34px;
	border: none;
	background: transparent;
	font-size: 13px;
	color: var(--neo-text);
	outline: none;
}

.neo-search input::placeholder {
	color: var(--neo-text-3);
}

.neo-search button {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-3);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.neo-search button:hover {
	color: var(--neo-accent);
}

.neo-search button svg {
	width: 16px;
	height: 16px;
}

/* 侧栏最近动态 */
.neo-recent li + li {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--neo-border);
}

.neo-recent a {
	display: flex;
	gap: 10px;
	align-items: center;
	color: var(--neo-text);
}

.neo-recent__thumb {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: var(--neo-radius-sm);
	overflow: hidden;
	background: var(--neo-card-weak);
}

.neo-recent__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.neo-recent__thumb--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-recent__info {
	min-width: 0;
}

.neo-recent__title {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.neo-recent__time {
	font-size: 11px;
	color: var(--neo-text-3);
}

/* 侧栏分类 */
.neo-cats li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 7px 4px;
	font-size: 14px;
	color: var(--neo-text-2);
	border-radius: 6px;
}

.neo-cats li a:hover {
	color: var(--neo-accent);
	background: var(--neo-card-weak);
}

.neo-cats li a b {
	font-weight: 400;
	font-size: 12px;
	color: var(--neo-text-3);
	background: var(--neo-card-weak);
	border-radius: 999px;
	padding: 1px 8px;
	min-width: 26px;
	text-align: center;
}

.neo-cats li.current-cat a {
	color: var(--neo-accent);
	background: var(--neo-accent-weak);
}

/* 标签云 */
.neo-tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.neo-tagcloud a {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--neo-card-weak);
	color: var(--neo-text-2);
	font-size: 12px !important;
	transition: all 0.15s ease;
}

.neo-tagcloud a:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

/* ==========================================================================
   13. 灯箱
   ========================================================================== */
.neo-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999;
	background: rgba(0, 0, 0, 0.88);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
	cursor: zoom-out;
	animation: neo-fade 0.2s ease;
}

.neo-lightbox img {
	max-width: 92vw;
	max-height: 90vh;
	border-radius: var(--neo-radius-sm);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

@keyframes neo-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* ==========================================================================
   14. 页脚
   ========================================================================== */
.neo-footer {
	margin-top: 40px;
	padding: 24px 20px 32px;
	text-align: center;
	font-size: 13px;
	color: var(--neo-text-3);
}

.neo-footer a {
	color: var(--neo-text-3);
	border-bottom: 1px dashed var(--neo-border);
}

.neo-footer a:hover {
	color: var(--neo-accent);
	border-bottom-color: var(--neo-accent);
}

.neo-footer__icp-separator {
	margin: 0 4px;
}

.neo-footer__icp {
	word-break: break-all;
}

/* ==========================================================================
   15. 响应式
   ========================================================================== */
@media (max-width: 1120px) {
	.neo-shell {
		grid-template-columns: 240px minmax(0, 1fr);
	}

	.neo-right {
		grid-column: 1 / -1;
		position: static;
		max-height: none;
		overflow: visible;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
		gap: 16px;
		align-items: start;
	}

	.neo-right .neo-widget {
		margin-bottom: 0;
	}
}

@media (max-width: 820px) {
	.neo-menu-toggle {
		display: inline-flex;
	}

	.neo-topbar__search {
		display: none;
	}

	.neo-shell {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 16px;
		padding: 0 12px;
	}

	.neo-left {
		position: fixed;
		z-index: 99;
		top: var(--neo-topbar-h);
		left: 0;
		bottom: 0;
		width: 282px;
		max-width: 84vw;
		padding: 16px 14px;
		background: var(--neo-bg);
		overflow-y: auto;
		transform: translateX(-105%);
		transition: transform 0.25s ease;
	}

	.neo-left.is-open {
		transform: translateX(0);
	}

	.neo-right {
		grid-template-columns: minmax(0, 1fr);
		display: none;
	}

	.neo-card--feed {
		padding: 15px 16px;
	}

	.neo-hero {
		padding: 0 14px;
		margin-top: 16px;
	}

	.neo-main .neo-hero {
		margin: 0 0 8px;
		padding: 0;
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	.neo-hero__cover {
		height: 170px;
	}

	.neo-hero__avatar {
		width: 68px;
		height: 68px;
		margin-top: -34px;
		border-width: 3px;
	}

	.neo-hero__name {
		font-size: 17px;
	}

	.neo-hero__stats {
		gap: 20px;
		padding-top: 10px;
	}

	.neo-composer {
		padding: 14px 16px;
	}

	.neo-card--single {
		padding: 18px;
	}

	.neo-grid__item--single {
		max-width: 100%;
	}
}

@media (max-width: 560px) {
	.neo-hero__cover {
		border-radius: 0;
		box-shadow: none;
	}

	.neo-hero__cover {
		height: clamp(190px, 50vw, 250px);
	}

	/* 手机端头像压住封面底部,资料信息与头像并排显示。 */
	.neo-hero {
		position: relative;
	}

	.neo-hero__bar {
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr);
		grid-template-rows: 100px auto;
		column-gap: 16px;
		row-gap: 0;
		margin-top: -100px;
		padding: 0 18px 18px;
		background: transparent;
		box-shadow: none;
	}

	.neo-hero__avatar {
		position: relative;
		z-index: 2;
		width: 76px;
		height: 76px;
		margin-top: 0;
		align-self: end;
		border-width: 3px;
	}

	.neo-hero__info {
		min-width: 0;
		align-self: end;
		padding: 0 0 12px;
	}

	.neo-hero__nameline {
		gap: 7px;
	}

	.neo-hero__bio {
		max-width: none;
		white-space: normal;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		color: rgba(255, 255, 255, 0.94);
		text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	}

	.neo-hero__name {
		color: #fff;
		text-shadow: 0 1px 4px rgba(0, 0, 0, 0.58);
	}

	.neo-hero__name:hover {
		color: #fff;
	}

	.neo-hero__stats {
		grid-column: 1 / -1;
		flex-basis: 100%;
		justify-content: space-around;
		gap: 12px;
		padding: 14px 18px 0;
		margin: 0 -18px -18px;
		background: var(--neo-card);
		border-radius: 0;
		box-shadow: none;
	}

	.neo-card__title {
		font-size: 16px;
	}

	.neo-entry {
		font-size: 15px;
	}

	.neo-pagehead {
		padding: 16px;
	}
}

/* ========================================================================== 
   20. 信息流评论 / 回复弹窗
   ========================================================================== */
body.neo-comment-modal-open {
	overflow: hidden;
}

.neo-comment-modal[hidden] {
	display: none;
}

.neo-comment-modal {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: grid;
	place-items: center;
	padding: 24px;
}

.neo-comment-modal__shade {
	position: absolute;
	inset: 0;
	background: rgba(20, 24, 29, 0.58);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}

.neo-comment-modal__panel {
	position: relative;
	z-index: 1;
	width: min(700px, 100%);
	max-height: min(760px, calc(100vh - 48px));
	background: var(--neo-card);
	border: 1px solid var(--neo-border);
	border-radius: 9px;
	box-shadow: 0 24px 70px rgba(16, 20, 26, 0.28);
	overflow: hidden;
}

.neo-comment-modal__form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	max-height: inherit;
}

.neo-comment-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 68px;
	padding: 0 22px;
	border-bottom: 1px solid var(--neo-border);
}

.neo-comment-modal__header h2 {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
}

.neo-comment-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-2);
}

.neo-comment-modal__close:hover {
	background: var(--neo-card-weak);
	color: var(--neo-text);
}

.neo-comment-modal__close svg {
	width: 25px;
	height: 25px;
}

.neo-comment-modal__content {
	min-height: 0;
	padding: 24px 28px 8px;
	overflow-y: auto;
}

.neo-comment-modal__identity {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
}

.neo-comment-modal__avatar {
	display: block;
	width: 54px;
	height: 54px;
	flex: 0 0 54px;
	border-radius: 50%;
	overflow: hidden;
}

.neo-comment-modal__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-comment-modal__identity strong {
	display: block;
	font-size: 16px;
	font-weight: 700;
}

.neo-comment-modal__identity p {
	margin: 3px 0 0;
	color: var(--neo-text-3);
	font-size: 14px;
}

.neo-comment-modal__guest-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: -5px 0 14px;
}

.neo-comment-modal__guest-fields input {
	width: 100%;
	height: 38px;
	padding: 0 12px;
	border: 1px solid var(--neo-border);
	border-radius: 7px;
	background: var(--neo-card-weak);
	color: var(--neo-text);
	font: inherit;
	font-size: 13px;
}

.neo-comment-modal__form textarea {
	display: block;
	width: 100%;
	min-height: 185px;
	padding: 16px;
	border: 1px solid var(--neo-border);
	border-radius: 10px;
	outline: 0;
	background: var(--neo-card);
	color: var(--neo-text);
	font: inherit;
	font-size: 16px;
	line-height: 1.7;
	resize: vertical;
}

.neo-comment-modal__form textarea:focus,
.neo-comment-modal__guest-fields input:focus {
	border-color: var(--neo-accent);
	box-shadow: 0 0 0 3px var(--neo-accent-weak);
}

.neo-comment-modal__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
}

.neo-comment-modal__tools {
	display: flex;
	align-items: center;
	gap: 3px;
}

.neo-comment-modal__tools button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-2);
	font-size: 22px;
}

.neo-comment-modal__tools button:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-comment-modal__counter {
	color: var(--neo-text-3);
	font-size: 12px;
}

.neo-comment-modal__counter.is-limit,
.neo-comment-modal__counter.is-limit b {
	color: var(--neo-danger);
}

.neo-comment-modal__counter b {
	font-weight: 400;
}

.neo-comment-modal__status {
	min-height: 21px;
	margin: 0 0 2px;
	color: var(--neo-text-3);
	font-size: 13px;
}

.neo-comment-modal__status.is-error {
	color: var(--neo-danger);
}

.neo-comment-modal__footer {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	min-height: 76px;
	padding: 16px 28px;
	border-top: 1px solid var(--neo-border);
}

.neo-comment-modal__cancel,
.neo-comment-modal__submit {
	min-width: 92px;
	height: 44px;
	padding: 0 25px;
	border: 1px solid var(--neo-border);
	border-radius: 9px;
	background: var(--neo-card-weak);
	color: var(--neo-text);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
}

.neo-comment-modal__submit {
	border-color: #3d62e8;
	background: #3d62e8;
	color: #fff;
}

.neo-comment-modal__submit:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.neo-comment-modal.is-publishing .neo-comment-modal__submit {
	color: transparent;
}

@media (max-width: 640px) {
	.neo-comment-modal {
		display: block;
		padding: 0;
	}

	.neo-comment-modal__shade {
		display: none;
	}

	.neo-comment-modal__panel,
	.neo-comment-modal__form {
		width: 100%;
		height: 100vh;
		height: 100dvh;
		max-height: none;
	}

	.neo-comment-modal__panel {
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.neo-comment-modal__header {
		min-height: 58px;
		padding: max(0px, env(safe-area-inset-top)) 16px 0;
	}

	.neo-comment-modal__header h2 {
		font-size: 17px;
	}

	.neo-comment-modal__close {
		width: 36px;
		height: 36px;
	}

	.neo-comment-modal__content {
		padding: 20px 16px calc(18px + env(safe-area-inset-bottom));
	}

	.neo-comment-modal__identity {
		gap: 11px;
		margin-bottom: 16px;
	}

	.neo-comment-modal__avatar {
		width: 46px;
		height: 46px;
		flex-basis: 46px;
	}

	.neo-comment-modal__identity strong {
		font-size: 15px;
	}

	.neo-comment-modal__identity p {
		font-size: 12px;
	}

	.neo-comment-modal__guest-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.neo-comment-modal__form textarea {
		min-height: 185px;
		font-size: 15px;
		resize: none;
	}

	.neo-comment-modal__footer {
		min-height: 68px;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	}

	.neo-comment-modal__cancel,
	.neo-comment-modal__submit {
		min-width: 82px;
		height: 40px;
		padding: 0 20px;
		font-size: 14px;
	}
}

/* 分享复制提示 */
.neo-toast {
	position: fixed;
	left: 50%;
	bottom: 32px;
	transform: translateX(-50%) translateY(8px);
	z-index: 9999;
	padding: 9px 20px;
	border-radius: 999px;
	background: var(--neo-text);
	color: var(--neo-card);
	font-size: 13px;
	font-weight: 500;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.neo-toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* ========================================================================
 * QQ 空间式中间栏导航与推荐区
 * ======================================================================== */
.neo-space-nav {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 4px;
	margin-bottom: 10px;
	padding: 12px 8px 10px;
	background: var(--neo-card);
	border-radius: var(--neo-radius);
	box-shadow: var(--neo-shadow);
}

.neo-space-nav__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding: 3px 4px;
	border: 0;
	background: transparent;
	color: var(--neo-text-2);
	font-size: 12px;
	line-height: 1.35;
	text-decoration: none;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.neo-space-nav__item:hover,
.neo-space-nav__item:focus-visible {
	color: var(--neo-accent);
	background: var(--neo-accent-weak);
	border-radius: 10px;
}

.neo-space-nav__item.is-active,
.neo-space-nav__item[aria-expanded="true"] {
	color: var(--neo-accent);
	background: var(--neo-accent-weak);
	border-radius: 10px;
}

.neo-space-nav__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: currentColor;
}

.neo-space-nav__icon svg {
	width: 25px;
	height: 25px;
}

.neo-friends {
	margin-top: 14px;
	padding: 18px 18px 20px;
	background: var(--neo-card);
	border-radius: var(--neo-radius);
	box-shadow: var(--neo-shadow);
}

.neo-friends__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.neo-friends__heading h2 {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--neo-text);
}

.neo-friends__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	color: var(--neo-text);
}

.neo-friends__mark svg {
	width: 24px;
	height: 24px;
}

.neo-friends__sort {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 8px;
	border: 0;
	border-radius: 7px;
	background: var(--neo-card-weak);
	color: var(--neo-text-2);
	font-size: 13px;
	line-height: 1.3;
}

.neo-friends__sort:hover,
.neo-friends__sort[aria-expanded="true"] {
	color: var(--neo-accent);
	background: var(--neo-accent-weak);
}

.neo-friends__sort svg {
	width: 15px;
	height: 15px;
	transition: transform 0.15s ease;
}

.neo-friends__sort[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

@media (max-width: 820px) {
	.neo-feed {
		gap: 8px;
	}

	.neo-space-nav {
		gap: 0;
		margin: 0 0 8px;
		padding: 10px 4px 8px;
		border-radius: 12px;
		box-shadow: none;
		border: 1px solid var(--neo-border);
	}

	.neo-space-nav__item {
		font-size: 12px;
	}

	.neo-space-nav__icon {
		width: 32px;
		height: 32px;
	}

	.neo-space-nav__icon svg {
		width: 24px;
		height: 24px;
	}

	.neo-composer {
		margin-bottom: 0;
		padding: 12px 13px;
		border: 1px solid var(--neo-border);
		border-radius: 13px;
		box-shadow: none;
	}

	.neo-composer__input {
		height: 40px;
		padding: 0 15px;
		border: 1px solid var(--neo-border);
		background: var(--neo-card-weak);
	}

	.neo-card--feed {
		padding: 16px 14px;
		border: 1px solid var(--neo-border);
		border-radius: 13px;
		box-shadow: none;
	}

	.neo-card__text {
		font-size: 15px;
		line-height: 1.65;
	}

	.neo-card__foot {
		margin-top: 10px;
	}

	.neo-friends {
		margin-top: 8px;
		padding: 18px 14px 22px;
		border-radius: 13px;
		box-shadow: none;
		border: 1px solid var(--neo-border);
	}
}

@media (max-width: 560px) {
	.neo-space-nav {
		margin-right: -2px;
		margin-left: -2px;
	}

	.neo-space-nav__item {
		gap: 2px;
		padding-right: 2px;
		padding-left: 2px;
	}

	.neo-space-nav__icon {
		width: 30px;
		height: 30px;
	}

	.neo-space-nav__icon svg {
		width: 22px;
		height: 22px;
	}

	.neo-card--feed {
		padding: 15px 12px;
	}

	.neo-card__avatar {
		width: 40px;
		height: 40px;
	}

	.neo-card__name {
		font-size: 14px;
	}

	.neo-card__text {
		font-size: 14px;
	}

	.neo-friends__heading h2 {
		font-size: 17px;
	}

}

/* ==========================================================================
   16. 文章页补充与文章导航
   ========================================================================== */
.neo-card__head--single {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 4px;
}

.neo-card__head--single .neo-card__time {
	margin-left: 0;
	white-space: normal;
}

.neo-card__title--single {
	font-size: 22px;
	margin: 12px 0 10px;
	line-height: 1.45;
}

.neo-single-cover {
	margin: 4px 0 12px;
}

.neo-single-cover img {
	border-radius: var(--neo-radius-sm);
	width: 100%;
}

.neo-page-links {
	clear: both;
	margin: 1.2em 0;
	font-size: 14px;
}

.post-navigation,
.comment-navigation {
	margin-top: 16px;
	font-size: 13px;
}

.post-navigation .nav-links,
.comment-navigation .nav-links {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.post-navigation .nav-previous,
.post-navigation .nav-next,
.comment-navigation .nav-previous,
.comment-navigation .nav-next {
	flex: 1 1 0;
	min-width: 0;
	width: 0;
	max-width: none;
}

.post-navigation .nav-next {
	margin-left: auto;
	text-align: right;
}

.post-navigation a,
.comment-navigation a {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--neo-card);
	box-shadow: var(--neo-shadow);
	color: var(--neo-text-2);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.post-navigation a:hover,
.comment-navigation a:hover {
	color: var(--neo-accent);
}

.post-navigation span,
.comment-navigation span {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: middle;
}

/* 评论区布局修正 */
.neo-comments__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.neo-comments__title {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	font-size: 16px;
}

.neo-comments__title .neo-comments__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	margin: 0;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--neo-card-weak);
	color: var(--neo-text-2);
	font-size: 12px;
	font-weight: 600;
}

.neo-comments__list > li {
	margin: 0;
}

.neo-comments__list .children {
	margin: 0;
	padding-left: 38px;
	border-left: 0;
	list-style: none;
}

.neo-comments__list .comment-body {
	position: relative;
	min-height: 64px;
	padding: 14px 8px 14px 52px;
	border-top: 1px solid var(--neo-border);
	border-radius: 0;
	background: transparent;
}

.neo-comments__list .comment-meta {
	display: flex;
	align-items: baseline;
	gap: 10px;
	min-width: 0;
	flex-wrap: wrap;
}

.neo-comments__list .comment-author {
	min-width: 0;
	gap: 5px;
}

.neo-comments__list .comment-author img.avatar {
	left: 4px;
	top: 14px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
}

.neo-comments__list .comment-author .fn {
	display: block;
	max-width: 190px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 14px;
}

.neo-comments__list .says {
	display: none;
}

.neo-comments__list .comment-metadata {
	position: static;
	margin: 0 0 0 auto;
	font-size: 11px;
	line-height: 1.5;
}

.neo-comments__list .comment-content {
	margin: 5px 0 0;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.neo-comments__list .reply {
	margin: 5px 0 0;
	line-height: 1;
}

.bypostauthor > .comment-body {
	border-radius: 7px;
	background: var(--neo-accent-weak);
	box-shadow: none;
}

.neo-comment-form {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 10px;
	margin: 0 0 18px;
	padding: 12px;
	border-radius: var(--neo-radius-sm);
	background: var(--neo-card-weak);
}

.neo-comment-form__avatar {
	display: block;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	overflow: hidden;
}

.neo-comment-form__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-comment-form__body {
	min-width: 0;
	max-width: 100%;
}

.neo-comment-form .comment-reply-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--neo-text-2);
}

.neo-comment-form .comment-reply-title small {
	font-size: 12px;
	font-weight: 400;
}

.neo-comment-form #cancel-comment-reply-link {
	color: var(--neo-danger);
}

.neo-comment-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	min-width: 0;
	max-width: 100%;
}

.neo-comment-form__fields > * {
	min-width: 0;
	max-width: 100%;
}

.neo-comment-form textarea,
.neo-comment-form input[type="text"],
.neo-comment-form input[type="email"],
.neo-comment-form input[type="url"] {
	padding: 9px 12px;
	border-radius: 7px;
	background: var(--neo-card);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.neo-comment-form textarea:focus,
.neo-comment-form input:focus {
	box-shadow: 0 0 0 3px var(--neo-accent-weak);
}

.neo-comment-form textarea {
	min-height: 72px;
}

.neo-comment-form .comment-form-comment,
.neo-comment-form .comment-form-url,
.neo-comment-form .comment-form-cookies-consent,
.neo-comment-form .form-submit,
.neo-comment-form .logged-in-as,
.neo-comment-form .comment-notes {
	grid-column: 1 / -1;
}

.neo-comment-form .comment-form-comment,
.neo-comment-form .comment-form-author,
.neo-comment-form .comment-form-email,
.neo-comment-form .comment-form-url,
.neo-comment-form .comment-form-cookies-consent,
.neo-comment-form .form-submit,
.neo-comment-form .logged-in-as,
.neo-comment-form .comment-notes {
	margin: 0;
}

.neo-comment-form .comment-form-cookies-consent {
	line-height: 1.55;
}

.neo-comment-form .form-submit {
	display: flex;
	justify-content: flex-end;
}

.neo-comment-form .submit {
	height: 34px;
	padding: 0 20px;
	border-radius: 7px;
	max-width: 100%;
}

.neo-comments img.avatar.is-avatar-placeholder {
	background: var(--neo-border);
}

@media (max-width: 560px) {
	.neo-comments {
		padding: 16px 12px;
	}

	.neo-comments__list .children {
		padding-left: 18px;
	}

	.neo-comments__list .comment-meta {
		display: block;
	}

	.neo-comments__list .comment-metadata {
		margin: 2px 0 0;
	}

	.neo-comments__list .comment-author .fn {
		max-width: 160px;
	}

	.neo-comment-form {
		grid-template-columns: 32px minmax(0, 1fr);
		gap: 8px;
		padding: 10px;
	}

	.neo-comment-form__avatar {
		width: 32px;
		height: 32px;
	}

	.neo-comment-form__fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.neo-comment-form .comment-form-author,
	.neo-comment-form .comment-form-email {
		grid-column: 1 / -1;
	}
}

/* ========================================================================== 
   17. 其他
   ========================================================================== */
.neo-clear::after {
	content: "";
	display: table;
	clear: both;
}

.wp-block-image figcaption,
.neo-entry figcaption {
	text-align: center;
	font-size: 12px;
	color: var(--neo-text-3);
}

.sticky {
	position: relative;
}

/* ========================================================================== 
   18. 空间动态卡片与互动摘要
   ========================================================================== */
.neo-card--feed {
	display: block;
}

.neo-card--feed .neo-card__body {
	margin-top: 10px;
}

.neo-card__identity {
	display: flex;
	align-items: baseline;
	gap: 7px;
	min-width: 0;
}

.neo-card__identity .neo-card__name {
	max-width: 190px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-card__identity-note {
	color: var(--neo-text-3);
	font-size: 11px;
	white-space: nowrap;
}

.neo-card--feed .neo-card__foot {
	margin-top: 13px;
}

.neo-card--feed .neo-actions {
	gap: 6px;
}

.neo-card__discussion {
	margin-top: 11px;
	padding-top: 10px;
	border-top: 1px solid var(--neo-border);
}

.neo-card__discussion[hidden],
.neo-card__discussion [hidden] {
	display: none;
}

.neo-like-summary {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--neo-link);
	font-size: 13px;
	line-height: 1.5;
}

.neo-like-summary .neo-action__icon {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

.neo-comment-preview {
	margin-top: 8px;
}

.neo-comment-preview__item {
	margin: 0;
	padding: 4px 0;
	color: var(--neo-text-2);
	font-size: 13px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.neo-comment-preview__author,
.neo-comment-preview__to {
	color: var(--neo-link);
	font-weight: 600;
}

.neo-comment-preview__to {
	margin-left: 3px;
	font-weight: 400;
}

.neo-comment-preview__item.is-reply {
	padding-left: 12px;
	border-left: 2px solid var(--neo-border);
}

.neo-comment-preview__reply {
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	margin-left: 7px;
	color: var(--neo-text-3);
	font-size: 12px;
	cursor: pointer;
	white-space: nowrap;
}

.neo-comment-preview__reply:hover {
	color: var(--neo-accent);
}

/* ========================================================================== 
   19. 前台动态发布器
   ========================================================================== */
body.neo-composer-open {
	overflow: hidden;
}

.neo-publisher[hidden] {
	display: none;
}

.neo-publisher {
	position: fixed;
	inset: 0;
	/* 覆盖 WordPress 管理工具栏，移动端才能保持完整的发布页标题。 */
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 24px;
}

.neo-publisher__shade {
	position: absolute;
	inset: 0;
	background: rgba(20, 24, 29, 0.58);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.neo-publisher__panel {
	position: relative;
	z-index: 1;
	width: min(700px, 100%);
	max-height: min(760px, calc(100vh - 48px));
	background: var(--neo-card);
	border: 1px solid var(--neo-border);
	border-radius: 8px;
	box-shadow: 0 24px 70px rgba(16, 20, 26, 0.28);
	overflow: hidden;
}

.neo-publisher__form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	max-height: inherit;
}

.neo-publisher__header {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: center;
	height: 58px;
	padding: 0 14px;
	border-bottom: 1px solid var(--neo-border);
}

.neo-publisher__header h2 {
	grid-column: 2;
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.neo-publisher__close {
	grid-column: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-left: auto;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-2);
}

.neo-publisher__close:hover {
	background: var(--neo-card-weak);
	color: var(--neo-text);
}

.neo-publisher__close svg {
	width: 20px;
	height: 20px;
}

.neo-publisher__mobile-cancel,
.neo-publisher__mobile-submit {
	display: none;
}

.neo-publisher__content {
	min-height: 0;
	padding: 16px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.neo-publisher__identity {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	margin-bottom: 12px;
}

.neo-publisher__avatar {
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 50%;
	overflow: hidden;
}

.neo-publisher__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-publisher__identity strong {
	min-width: 0;
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-publisher__visibility {
	margin-left: auto;
	max-width: 132px;
	height: 32px;
	padding: 0 28px 0 12px;
	border: 1px solid var(--neo-border);
	border-radius: 999px;
	background-color: var(--neo-card-weak);
	color: var(--neo-text-2);
	font: inherit;
	font-size: 12px;
}

.neo-publisher__editor {
	border: 1px solid var(--neo-border);
	border-radius: 7px;
	background: var(--neo-card);
	overflow: hidden;
}

.neo-publisher__editor textarea {
	display: block;
	width: 100%;
	min-height: 136px;
	padding: 13px 14px 4px;
	border: 0;
	outline: 0;
	resize: vertical;
	background: transparent;
	color: var(--neo-text);
	font: inherit;
	font-size: 14px;
	line-height: 1.7;
}

.neo-publisher__editor textarea::placeholder,
.neo-publisher__option input::placeholder {
	color: var(--neo-text-3);
}

.neo-publisher__editorbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 38px;
	padding: 2px 10px;
}

.neo-publisher__tools {
	display: flex;
	align-items: center;
	gap: 2px;
}

.neo-publisher__tools button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-2);
	font-size: 21px;
	font-weight: 500;
	line-height: 1;
}

.neo-publisher__tools button:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

/* Shared popover used by the post and comment emoji buttons. */
.neo-emoji-picker[hidden] {
	display: none;
}

.neo-emoji-picker {
	position: fixed;
	z-index: 1060;
	padding: 8px;
	border: 1px solid var(--neo-border);
	border-radius: 8px;
	background: var(--neo-card);
	box-shadow: var(--neo-shadow);
	color: var(--neo-text);
}

.neo-emoji-picker__tabs {
	display: flex;
	gap: 3px;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--neo-border);
}

.neo-emoji-picker__tab {
	flex: 1 1 0;
	height: 30px;
	padding: 0 6px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--neo-text-2);
	font-size: 12px;
	line-height: 1;
}

.neo-emoji-picker__tab:hover,
.neo-emoji-picker__tab.is-active {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-emoji-picker__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 3px;
	padding-top: 7px;
}

.neo-emoji-picker__emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	padding: 0;
	border: 0;
	border-radius: 5px;
	background: transparent;
	font-size: 22px;
	line-height: 1;
}

.neo-emoji-picker__emoji:hover,
.neo-emoji-picker__emoji:focus-visible {
	background: var(--neo-card-weak);
}

.neo-publisher__counter {
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-publisher__counter b {
	font-weight: 400;
}

.neo-publisher__counter.is-limit,
.neo-publisher__counter.is-limit b {
	color: var(--neo-danger);
}

.neo-publisher__media {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	min-height: 86px;
	padding: 12px 0;
}

.neo-publisher__media-label {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	color: var(--neo-text-2);
}

.neo-publisher__media-label > svg {
	width: 15px;
	height: 15px;
	margin-top: 2px;
	flex: 0 0 auto;
}

.neo-publisher__media-label strong,
.neo-publisher__media-label small {
	display: block;
}

.neo-publisher__media-label strong {
	font-size: 12px;
	font-weight: 600;
}

.neo-publisher__media-label small {
	margin-top: 2px;
	color: var(--neo-text-3);
	font-size: 9px;
	line-height: 1.45;
}

.neo-publisher__previews {
	display: grid;
	grid-template-columns: repeat(auto-fill, 54px);
	gap: 7px;
	min-width: 0;
}

.neo-publisher__preview,
.neo-publisher__media-add {
	position: relative;
	width: 54px;
	height: 54px;
	border-radius: 6px;
	overflow: hidden;
	background: var(--neo-card-weak);
}

.neo-publisher__preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-publisher__preview-remove {
	position: absolute;
	top: 3px;
	right: 3px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(20, 24, 29, 0.72);
	color: #fff;
	font-size: 15px;
	line-height: 1;
}

.neo-publisher__media-add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px dashed var(--neo-border);
	color: var(--neo-text-3);
}

.neo-publisher__media-add:hover {
	border-color: var(--neo-accent);
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-publisher__media-add svg {
	width: 23px;
	height: 23px;
}

.neo-publisher__music {
	margin: 0 0 12px;
	padding: 10px;
	border: 1px solid var(--neo-border);
	border-radius: 7px;
	background: var(--neo-card-weak);
}

.neo-publisher__music[hidden] {
	display: none;
}

.neo-publisher__music-head,
.neo-publisher__music-search,
.neo-publisher__music-selected {
	display: flex;
	align-items: center;
	gap: 8px;
}

.neo-publisher__music-head {
	justify-content: space-between;
	margin-bottom: 8px;
	font-size: 13px;
}

.neo-publisher__music-clear {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--neo-danger);
	font-size: 12px;
}

.neo-publisher__music-search select,
.neo-publisher__music-search input,
.neo-publisher__music-search button {
	height: 32px;
	border: 1px solid var(--neo-border);
	border-radius: 5px;
	font: inherit;
	font-size: 12px;
}

.neo-publisher__music-search select {
	width: 105px;
	padding: 0 5px;
	background: var(--neo-card);
	color: var(--neo-text-2);
}

.neo-publisher__music-search input {
	flex: 1;
	min-width: 0;
	padding: 0 9px;
	background: var(--neo-card);
	color: var(--neo-text);
}

.neo-publisher__music-search button {
	min-width: 48px;
	padding: 0 9px;
	background: var(--neo-accent);
	color: #fff;
}

.neo-publisher__music-results {
	display: grid;
	gap: 4px;
	margin-top: 8px;
}

.neo-publisher__music-result {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
	padding: 7px 8px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--neo-text);
	text-align: left;
}

.neo-publisher__music-result:hover {
	background: var(--neo-card);
}

.neo-publisher__music-result strong,
.neo-publisher__music-result small {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.neo-publisher__music-result strong {
	min-width: 0;
	font-size: 12px;
}

.neo-publisher__music-result small {
	flex: 0 0 auto;
	max-width: 45%;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-publisher__music-empty {
	margin: 8px 0 0;
	color: var(--neo-text-3);
	font-size: 12px;
}

.neo-publisher__music-empty.is-error {
	color: var(--neo-danger);
}

.neo-publisher__music-selected {
	margin-top: 8px;
	padding: 6px;
	border-radius: 5px;
	background: var(--neo-card);
}

.neo-publisher__music-selected[hidden] {
	display: none;
}

.neo-publisher__music-selected-cover {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	overflow: hidden;
	border-radius: 4px;
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-publisher__music-selected-cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-publisher__music-selected-meta {
	min-width: 0;
}

.neo-publisher__music-selected-meta strong,
.neo-publisher__music-selected-meta small {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.neo-publisher__music-selected-meta strong {
	font-size: 12px;
}

.neo-publisher__music-selected-meta small {
	margin-top: 2px;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-publisher__options {
	border-top: 1px solid var(--neo-border);
}

.neo-publisher__option {
	display: grid;
	grid-template-columns: 22px 86px minmax(0, 1fr);
	align-items: center;
	min-height: 48px;
	border-bottom: 1px solid var(--neo-border);
}

.neo-publisher__option-icon {
	width: 17px;
	height: 17px;
	color: var(--neo-text-2);
	font-size: 18px;
	font-weight: 600;
}

.neo-publisher__option strong {
	font-size: 13px;
	font-weight: 500;
}

.neo-publisher__option input {
	width: 100%;
	height: 40px;
	padding: 0 4px;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--neo-text);
	font: inherit;
	font-size: 13px;
	text-align: right;
}

.neo-publisher__status {
	min-height: 20px;
	margin: 8px 0 -4px;
	color: var(--neo-text-3);
	font-size: 12px;
	text-align: right;
}

.neo-publisher__status.is-error {
	color: var(--neo-danger);
}

.neo-publisher__footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-height: 62px;
	padding: 10px 16px;
	border-top: 1px solid var(--neo-border);
}

.neo-publisher__cancel,
.neo-publisher__submit,
.neo-publisher__mobile-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 78px;
	height: 34px;
	padding: 0 18px;
	border: 1px solid var(--neo-border);
	border-radius: 7px;
	background: var(--neo-card);
	color: var(--neo-text-2);
	font-size: 13px;
}

.neo-publisher__submit,
.neo-publisher__mobile-submit {
	border-color: var(--neo-accent);
	background: var(--neo-accent);
	color: #fff;
}

/* 移动端提交按钮只在小屏幕发布页显示。 */
.neo-publisher__mobile-submit {
	display: none;
}

.neo-publisher__submit:disabled,
.neo-publisher__mobile-submit:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.neo-publisher.is-publishing .neo-publisher__submit,
.neo-publisher.is-publishing .neo-publisher__mobile-submit {
	position: relative;
	color: transparent;
}

.neo-publisher.is-publishing .neo-publisher__submit::after,
.neo-publisher.is-publishing .neo-publisher__mobile-submit::after {
	content: "";
	position: absolute;
	width: 15px;
	height: 15px;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: neo-spin 0.7s linear infinite;
}

.neo-composer__input,
button.neo-composer__btn {
	border: 0;
	font-family: inherit;
}

button.neo-composer__input {
	text-align: left;
}

button.neo-composer__btn {
	background: transparent;
}

.neo-card__location {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	max-width: 150px;
	color: var(--neo-text-3);
	font-size: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-card__location svg {
	width: 13px;
	height: 13px;
	flex: 0 0 auto;
}

@media (max-width: 640px) {
	.neo-publisher {
		display: block;
		padding: 0;
	}

	.neo-publisher__shade {
		display: none;
	}

	.neo-publisher__panel,
	.neo-publisher__form {
		width: 100%;
		height: 100vh;
		height: 100dvh;
		max-height: none;
	}

	.neo-publisher__panel {
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.neo-publisher__header {
		grid-template-columns: 64px minmax(0, 1fr) 64px;
		height: 58px;
		padding: max(0px, env(safe-area-inset-top)) 12px 0;
	}

	.neo-publisher__header h2 {
		font-size: 15px;
	}

	.neo-publisher__close {
		display: none;
	}

	.neo-publisher__mobile-cancel,
	.neo-publisher__mobile-submit {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.neo-publisher__mobile-cancel {
		grid-column: 1;
		justify-self: start;
		padding: 8px 4px;
		border: 0;
		background: transparent;
		color: var(--neo-text-2);
		font-size: 14px;
	}

	.neo-publisher__mobile-submit {
		grid-column: 3;
		justify-self: end;
		min-width: 54px;
		height: 31px;
		padding: 0 12px;
		border-radius: 999px;
		font-size: 13px;
	}

	.neo-publisher__content {
		padding: 14px 16px calc(20px + env(safe-area-inset-bottom));
	}

	.neo-publisher__identity {
		margin-bottom: 8px;
	}

	.neo-publisher__editor {
		border: 0;
		border-radius: 0;
	}

	.neo-publisher__editor textarea {
		min-height: 118px;
		padding: 9px 0 4px;
		resize: none;
	}

	.neo-publisher__editorbar {
		padding: 2px 0;
	}

	.neo-publisher__media {
		grid-template-columns: minmax(0, 1fr);
		gap: 9px;
		min-height: 128px;
		padding: 12px 0 18px;
	}

	.neo-publisher__media-label small {
		font-size: 10px;
	}

	.neo-publisher__previews {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 7px;
	}

	.neo-publisher__preview,
	.neo-publisher__media-add {
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}

	.neo-publisher__options {
		margin: 0 -16px;
	}

	.neo-publisher__option {
		grid-template-columns: 24px 78px minmax(0, 1fr);
		padding: 0 16px;
		min-height: 52px;
	}

	.neo-publisher__footer {
		display: none;
	}

	.neo-publisher__status {
		margin-top: 10px;
		text-align: left;
	}
}

/* 手机端采用空间动态的纵向浏览节奏。 */
@media (max-width: 560px) {
	.neo-card--feed {
		padding: 17px 14px;
	}

	.neo-card--feed .neo-card__head {
		align-items: center;
		gap: 10px;
	}

	.neo-card--feed .neo-card__avatar {
		width: 46px;
		height: 46px;
	}

	.neo-card__identity {
		flex-direction: column;
		align-items: flex-start;
		gap: 1px;
	}

	.neo-card__identity .neo-card__name {
		max-width: 145px;
		font-size: 15px;
	}

	.neo-card__identity-note {
		font-size: 10px;
	}

	.neo-card--feed .neo-card__badge {
		max-width: 84px;
	}

	.neo-card--feed .neo-card__body {
		margin-top: 12px;
	}

	.neo-card--feed .neo-card__text {
		font-size: 16px;
		line-height: 1.65;
	}

	.neo-card--feed .neo-grid {
		margin-top: 12px;
	}

	.neo-card--feed .neo-grid__item {
		border-radius: 3px;
	}

	.neo-card--feed .neo-grid__item--single,
	.neo-card--feed .neo-grid__item--single img {
		max-height: 310px;
	}

	.neo-card--feed .neo-card__foot {
		min-height: 42px;
		margin-top: 8px;
	}

	.neo-card--feed .neo-card__time {
		font-size: 13px;
	}

	.neo-card--feed .neo-tags {
		display: none;
	}

	.neo-card--feed .neo-actions {
		gap: 8px;
	}

	.neo-card--feed .neo-action {
		justify-content: center;
		width: 38px;
		height: 38px;
		padding: 0;
		border-radius: 50%;
	}

	.neo-card--feed .neo-action svg,
	.neo-card--feed .neo-action__icon {
		width: 23px;
		height: 23px;
	}

	.neo-card--feed .neo-action > span {
		display: none;
	}

	.neo-card--feed .neo-card__location {
		max-width: 92px;
	}

	.neo-card__discussion {
		margin-top: 7px;
		padding-top: 9px;
	}

	.neo-like-summary,
	.neo-comment-preview__item {
		font-size: 14px;
	}

	.neo-comment-preview__item {
		padding: 5px 0;
	}
}

/* ========================================================================== 
   21. 相册与留言
   ========================================================================== */
.neo-album,
.neo-guestbook {
	margin-top: 14px;
	padding: 20px;
}

.neo-section-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.neo-section-kicker {
	margin: 0 0 2px;
	color: var(--neo-accent);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.8px;
	line-height: 1.4;
}

.neo-section-head h2 {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
}

.neo-section-subtitle {
	margin: 4px 0 0;
	color: var(--neo-text-3);
	font-size: 13px;
	line-height: 1.55;
}

.neo-section-count {
	flex: 0 0 auto;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--neo-card-weak);
	color: var(--neo-text-3);
	font-size: 12px;
	line-height: 1.4;
}

.neo-album__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
}

.neo-album__item {
	position: relative;
	display: block;
	min-width: 0;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: var(--neo-card-weak);
	overflow: hidden;
	cursor: zoom-in;
}

.neo-album__item::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 2px solid transparent;
	border-radius: inherit;
	transition: border-color 0.15s ease;
	pointer-events: none;
}

.neo-album__item:hover::after,
.neo-album__item:focus-visible::after {
	border-color: var(--neo-accent);
}

.neo-album__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.neo-album__item:hover img {
	transform: scale(1.04);
}

.neo-album__caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1px;
	padding: 24px 8px 7px;
	background: rgba(20, 24, 29, 0.6);
	color: #fff;
	text-align: left;
}

.neo-album__caption strong,
.neo-album__caption small {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-album__caption strong {
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
}

.neo-album__caption small {
	font-size: 10px;
	opacity: 0.78;
	line-height: 1.3;
}

.neo-section-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	padding: 24px;
	border: 1px dashed var(--neo-border);
	border-radius: 10px;
	color: var(--neo-text-2);
	text-align: center;
}

.neo-section-empty--compact {
	min-height: 130px;
}

.neo-section-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-bottom: 8px;
	color: var(--neo-text-3);
}

.neo-section-empty__icon svg {
	width: 28px;
	height: 28px;
}

.neo-section-empty strong {
	font-size: 14px;
	font-weight: 600;
	color: var(--neo-text-2);
}

.neo-section-empty p {
	margin: 3px 0 0;
	font-size: 12px;
	color: var(--neo-text-3);
}

.neo-guestbook__form {
	margin-bottom: 18px;
	padding: 14px;
	border: 1px solid var(--neo-border);
	border-radius: 10px;
	background: var(--neo-card-weak);
}

.neo-guestbook__form-row {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 11px;
}

.neo-guestbook__form-avatar,
.neo-guestbook__avatar {
	display: block;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--neo-border);
}

.neo-guestbook__form-avatar img,
.neo-guestbook__avatar {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-guestbook__form-main {
	min-width: 0;
}

.neo-guestbook__identity {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 8px;
}

.neo-guestbook__identity label {
	min-width: 0;
}

.neo-guestbook__identity input,
.neo-guestbook__textarea-wrap textarea {
	width: 100%;
	border: 1px solid var(--neo-border);
	border-radius: 7px;
	background: var(--neo-card);
	color: var(--neo-text);
	font: inherit;
	font-size: 13px;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.neo-guestbook__identity input {
	height: 36px;
	padding: 0 10px;
}

.neo-guestbook__textarea-wrap {
	display: block;
	margin: 0;
}

.neo-guestbook__textarea-wrap textarea {
	display: block;
	min-height: 96px;
	padding: 10px 12px;
	line-height: 1.65;
	resize: vertical;
}

.neo-guestbook__identity input:focus,
.neo-guestbook__textarea-wrap textarea:focus {
	border-color: var(--neo-accent);
	box-shadow: 0 0 0 3px var(--neo-accent-weak);
}

.neo-guestbook__signed-in {
	margin: 0 0 8px;
	color: var(--neo-text-3);
	font-size: 12px;
}

.neo-guestbook__signed-in strong {
	color: var(--neo-text-2);
}

.neo-guestbook__toolbar {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 9px;
}

.neo-guestbook__hint {
	min-width: 0;
	margin-right: auto;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-guestbook__counter {
	flex: 0 0 auto;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-guestbook__counter.is-limit {
	color: var(--neo-danger);
}

.neo-guestbook__submit {
	flex: 0 0 auto;
	height: 34px;
	padding: 0 15px;
	border: 0;
	border-radius: 7px;
	background: var(--neo-accent);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.neo-guestbook__submit:hover:not(:disabled) {
	opacity: 0.88;
	transform: translateY(-1px);
}

.neo-guestbook__submit:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.neo-guestbook__status {
	min-height: 18px;
	margin: 7px 0 0;
	color: var(--neo-accent);
	font-size: 12px;
}

.neo-guestbook__status.is-error {
	color: var(--neo-danger);
}

.neo-guestbook__entries {
	border-top: 1px solid var(--neo-border);
	padding-top: 3px;
}

.neo-guestbook__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.neo-guestbook__item {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 11px;
	padding: 14px 0;
	border-bottom: 1px solid var(--neo-border);
}

.neo-guestbook__item:last-child {
	border-bottom: 0;
}

.neo-guestbook__item-body {
	min-width: 0;
}

.neo-guestbook__item-body header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.neo-guestbook__item-body header strong {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--neo-link);
	font-size: 13px;
	font-weight: 600;
}

.neo-guestbook__item-body time {
	flex: 0 0 auto;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-guestbook__item-body p {
	margin: 5px 0 0;
	color: var(--neo-text-2);
	font-size: 13px;
	line-height: 1.7;
	white-space: pre-line;
	word-break: break-word;
}

@media (max-width: 820px) {
	.neo-album,
	.neo-guestbook {
		padding: 17px 14px;
		border: 1px solid var(--neo-border);
		box-shadow: none;
	}

	.neo-album__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
	}
}

@media (max-width: 560px) {
	.neo-section-head {
		gap: 10px;
	}

	.neo-section-head h2 {
		font-size: 18px;
	}

	.neo-section-subtitle {
		font-size: 12px;
	}

	.neo-album__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.neo-album__caption {
		padding: 19px 6px 5px;
	}

	.neo-album__caption strong {
		font-size: 10px;
	}

	.neo-album__caption small {
		display: none;
	}

	.neo-guestbook__form {
		padding: 11px;
	}

	.neo-guestbook__form-row,
	.neo-guestbook__item {
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 9px;
	}

	.neo-guestbook__form-avatar,
	.neo-guestbook__avatar {
		width: 36px;
		height: 36px;
	}

	.neo-guestbook__identity {
		grid-template-columns: minmax(0, 1fr);
	}

	.neo-guestbook__toolbar {
		flex-wrap: wrap;
	}

	.neo-guestbook__hint {
		width: 100%;
		flex-basis: 100%;
		order: 3;
	}

	.neo-guestbook__item-body header {
		display: block;
	}

	.neo-guestbook__item-body time {
		display: block;
		margin-top: 2px;
	}
}

.neo-special-pagehead {
	align-items: flex-start;
}

.neo-special-pagehead h1 {
	margin: 0;
	font-size: 22px;
	line-height: 1.35;
}

.neo-special-pagehead p:last-child {
	margin: 5px 0 0;
	color: var(--neo-text-3);
	font-size: 13px;
}

.neo-special-main > .neo-album,
.neo-special-main > .neo-guestbook {
	margin-top: 14px;
}

/* ========================================================================
   独立相册工作台
   ======================================================================== */
.neo-gallery-shell {
	grid-template-columns: 220px minmax(0, 1fr) 250px;
	gap: 24px;
	align-items: start;
}

.neo-gallery-main {
	min-width: 0;
}

.neo-gallery-page {
	min-width: 0;
}

.neo-gallery-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 30px;
}

.neo-gallery-search {
	display: flex;
	align-items: center;
	gap: 9px;
	width: min(360px, 100%);
	min-height: 38px;
	padding: 0 11px;
	background: var(--neo-card);
	border: 1px solid var(--neo-border);
	border-radius: 9px;
	box-shadow: var(--neo-shadow);
	color: var(--neo-text-3);
}

.neo-gallery-search svg {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
}

.neo-gallery-search input {
	min-width: 0;
	flex: 1 1 auto;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--neo-text);
	font: inherit;
	font-size: 13px;
}

.neo-gallery-search input::placeholder {
	color: var(--neo-text-3);
}

.neo-gallery-search kbd {
	flex: 0 0 auto;
	padding: 2px 5px;
	border: 1px solid var(--neo-border);
	border-radius: 4px;
	background: var(--neo-card-weak);
	color: var(--neo-text-3);
	font: 10px var(--neo-mono);
}

.neo-gallery-toolbar__actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.neo-gallery-view-switch {
	display: inline-flex;
	padding: 3px;
	border: 1px solid var(--neo-border);
	border-radius: 8px;
	background: var(--neo-card);
}

.neo-gallery-view-switch button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 31px;
	height: 29px;
	padding: 0;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--neo-text-3);
}

.neo-gallery-view-switch button:hover,
.neo-gallery-view-switch button.is-active {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-gallery-view-switch svg {
	width: 16px;
	height: 16px;
}

.neo-gallery-sort select {
	height: 37px;
	padding: 0 28px 0 10px;
	border: 1px solid var(--neo-border);
	border-radius: 8px;
	background: var(--neo-card);
	color: var(--neo-text-2);
	font: inherit;
	font-size: 12px;
}

.neo-gallery-upload {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 37px;
	padding: 0 12px;
	border-radius: 8px;
	background: var(--neo-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
}

.neo-gallery-upload:hover {
	color: #fff;
	opacity: 0.88;
}

.neo-gallery-upload--secondary {
	border: 1px solid var(--neo-accent);
	background: transparent;
	color: var(--neo-accent);
}

.neo-gallery-upload--secondary:hover {
	background: var(--neo-accent);
	color: #fff;
}

.neo-gallery-upload svg {
	width: 15px;
	height: 15px;
}

.neo-gallery-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 22px;
}

.neo-gallery-heading h1 {
	margin: 2px 0 0;
	font-size: 29px;
	line-height: 1.25;
	letter-spacing: 0;
}

.neo-gallery-heading p:last-child {
	margin: 7px 0 0;
	color: var(--neo-text-3);
	font-size: 13px;
}

.neo-section-kicker {
	margin: 0;
	color: var(--neo-accent);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
}

.neo-gallery-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 30px;
}

.neo-gallery-stat {
	position: relative;
	min-height: 102px;
	padding: 16px;
	border: 1px solid var(--neo-border);
	border-radius: 10px;
	background: var(--neo-card);
	box-shadow: var(--neo-shadow);
	overflow: hidden;
}

.neo-gallery-stat::after {
	position: absolute;
	right: -13px;
	bottom: -18px;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.06;
	content: "";
}

.neo-gallery-stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	margin-bottom: 9px;
	border-radius: 7px;
	background: currentColor;
	color: var(--neo-accent);
}

.neo-gallery-stat__icon svg {
	width: 15px;
	height: 15px;
	color: #fff;
}

.neo-gallery-stat strong,
.neo-gallery-stat small {
	display: block;
}

.neo-gallery-stat strong {
	font-size: 20px;
	line-height: 1.2;
}

.neo-gallery-stat small {
	margin-top: 3px;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-gallery-stat--green { color: #15ad68; }
.neo-gallery-stat--blue { color: #4c91da; }
.neo-gallery-stat--violet { color: #8c78d6; }
.neo-gallery-stat--orange { color: #e39a42; }

.neo-gallery-section {
	margin-top: 27px;
}

.neo-gallery-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 13px;
}

.neo-gallery-section__head h2 {
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}

.neo-gallery-section__head > span {
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-gallery-recent {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.neo-album-folder {
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	color: var(--neo-text);
}

.neo-album-folder__cover {
	position: relative;
	display: block;
	aspect-ratio: 1.15;
	margin-bottom: 8px;
	border-radius: 9px;
	background: var(--neo-card-weak);
	box-shadow: inset 0 0 0 1px var(--neo-border);
	overflow: hidden;
}

.neo-album-folder__cover::after,
.neo-album-card__cover::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.35));
	content: "";
	opacity: 0.7;
	transition: opacity 0.18s ease;
}

.neo-album-folder__cover img,
.neo-album-card__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.22s ease;
}

.neo-album-folder:hover .neo-album-folder__cover img,
.neo-album-card__cover:hover img {
	transform: scale(1.04);
}

.neo-album-folder__cover b,
.neo-album-card__cover b {
	position: absolute;
	right: 7px;
	bottom: 5px;
	z-index: 1;
	color: #fff;
	font-size: 10px;
	font-weight: 600;
}

.neo-album-folder > strong,
.neo-album-folder > small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-album-folder > strong {
	font-size: 12px;
}

.neo-album-folder > small {
	margin-top: 2px;
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-gallery-collection-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.neo-album-card {
	min-width: 0;
	border: 1px solid var(--neo-border);
	border-radius: 10px;
	background: var(--neo-card);
	box-shadow: var(--neo-shadow);
	overflow: hidden;
}

.neo-album-card__cover {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	aspect-ratio: 1.45;
	border: 0;
	background: var(--neo-card-weak);
	overflow: hidden;
}

.neo-album-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: var(--neo-text-3);
}

.neo-album-card__placeholder svg {
	width: 34px;
	height: 34px;
}

.neo-album-card__info {
	padding: 10px 12px 12px;
}

.neo-album-card__info strong,
.neo-album-card__info span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-album-card__info strong {
	font-size: 13px;
}

.neo-album-card__info span {
	margin-top: 3px;
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-album-card__upload {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	margin-top: 8px;
	padding: 0 8px;
	border: 1px solid var(--neo-border);
	border-radius: 5px;
	background: var(--neo-card-weak);
	color: var(--neo-text-2);
	font-size: 11px;
}

.neo-album-card__upload:hover {
	border-color: var(--neo-accent);
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-gallery-photo-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.neo-gallery-photo {
	position: relative;
	display: block;
	min-width: 0;
	padding: 0;
	aspect-ratio: 1;
	border: 0;
	border-radius: 8px;
	background: var(--neo-card-weak);
	overflow: hidden;
}

.neo-gallery-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.22s ease;
}

.neo-gallery-photo:hover img {
	transform: scale(1.05);
}

.neo-gallery-photo span {
	position: absolute;
	right: 8px;
	bottom: 7px;
	left: 8px;
	z-index: 1;
	overflow: hidden;
	color: #fff;
	font-size: 10px;
	text-align: left;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-gallery-photo::after {
	position: absolute;
	inset: 35% 0 0;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.48));
	content: "";
}

.neo-gallery-reset {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--neo-link);
	font-size: 11px;
}

.neo-gallery-reset:hover {
	color: var(--neo-accent);
}

.neo-gallery-empty {
	padding: 30px 18px;
	border: 1px dashed var(--neo-border);
	border-radius: 9px;
	background: var(--neo-card-weak);
	text-align: center;
}

.neo-gallery-empty strong,
.neo-gallery-empty p {
	display: block;
}

.neo-gallery-empty strong {
	font-size: 13px;
}

.neo-gallery-empty p {
	margin: 5px 0 0;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-gallery-brand {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 24px;
}

.neo-gallery-brand__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	border-radius: 9px;
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-gallery-brand__icon svg {
	width: 19px;
	height: 19px;
}

.neo-gallery-brand strong,
.neo-gallery-brand span {
	display: block;
}

.neo-gallery-brand strong {
	font-size: 14px;
}

.neo-gallery-brand span:last-child {
	margin-top: 1px;
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-gallery-nav {
	display: grid;
	gap: 3px;
}

.neo-gallery-nav a,
.neo-gallery-nav__section > a {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 35px;
	padding: 0 9px;
	border-radius: 7px;
	color: var(--neo-text-2);
	font-size: 12px;
}

.neo-gallery-nav a:hover,
.neo-gallery-nav a.is-active {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-gallery-nav svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

.neo-gallery-nav__section {
	margin-top: 25px;
	padding-top: 17px;
	border-top: 1px solid var(--neo-border);
}

.neo-gallery-nav__section > p {
	margin: 0 9px 6px;
	color: var(--neo-text-3);
	font-size: 10px;
	font-weight: 600;
}

.neo-gallery-nav__section > a {
	justify-content: space-between;
}

.neo-gallery-nav__section > a b {
	color: var(--neo-text-3);
	font-size: 10px;
	font-weight: 500;
}

.neo-gallery-nav__tags > div {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	padding: 0 9px;
}

.neo-gallery-nav__tags span {
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--neo-card-weak);
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-gallery-storage {
	margin-top: 24px;
	padding: 13px;
	border: 1px solid var(--neo-border);
	border-radius: 9px;
	background: var(--neo-card);
}

.neo-gallery-storage strong,
.neo-gallery-storage span,
.neo-gallery-storage small {
	display: block;
}

.neo-gallery-storage strong {
	font-size: 11px;
}

.neo-gallery-storage span,
.neo-gallery-storage small {
	margin-top: 4px;
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-gallery-storage__bar {
	height: 5px;
	margin-top: 9px;
	border-radius: 99px;
	background: var(--neo-card-weak);
	overflow: hidden;
}

.neo-gallery-storage__bar i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--neo-accent);
}

.neo-gallery-storage a {
	display: inline-block;
	margin-top: 9px;
	font-size: 10px;
}

.neo-gallery-side-card {
	margin-bottom: 14px;
	padding: 15px;
	border: 1px solid var(--neo-border);
	border-radius: 10px;
	background: var(--neo-card);
	box-shadow: var(--neo-shadow);
}

.neo-gallery-side-card h2 {
	margin: 0;
	font-size: 12px;
}

.neo-gallery-side-search > div {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 10px;
	padding: 0 9px;
	border: 1px solid var(--neo-border);
	border-radius: 7px;
}

.neo-gallery-side-search svg {
	width: 15px;
	height: 15px;
	color: var(--neo-text-3);
}

.neo-gallery-side-search input {
	width: 100%;
	height: 31px;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--neo-text);
	font: inherit;
	font-size: 11px;
}

.neo-gallery-timeline header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 7px;
}

.neo-gallery-timeline header span {
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-gallery-timeline ol {
	list-style: none;
	margin: 13px 0 0;
	padding: 0 0 0 3px;
}

.neo-gallery-timeline li {
	position: relative;
	display: grid;
	grid-template-columns: 11px minmax(0, 1fr);
	gap: 9px;
	padding-bottom: 14px;
}

.neo-gallery-timeline li:not(:last-child)::before {
	position: absolute;
	top: 9px;
	bottom: 0;
	left: 4px;
	width: 1px;
	background: var(--neo-border);
	content: "";
}

.neo-gallery-timeline li > i {
	position: relative;
	display: block;
	width: 9px;
	height: 9px;
	margin-top: 3px;
	border: 2px solid var(--neo-accent);
	border-radius: 50%;
	background: var(--neo-card);
}

.neo-gallery-timeline li strong,
.neo-gallery-timeline li span {
	display: block;
}

.neo-gallery-timeline li strong {
	font-size: 11px;
}

.neo-gallery-timeline li span {
	margin-top: 2px;
	color: var(--neo-text-3);
	font-size: 10px;
	line-height: 1.5;
}

.neo-gallery-side-tags ul {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

.neo-gallery-side-tags li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px solid var(--neo-border);
	font-size: 11px;
}

.neo-gallery-side-tags li:last-child {
	border-bottom: 0;
}

.neo-gallery-side-tags li b {
	color: var(--neo-text-3);
	font-weight: 500;
}

.neo-gallery-side-empty {
	margin: 10px 0 0;
	color: var(--neo-text-3);
	font-size: 10px;
	line-height: 1.6;
}

.neo-gallery-trash {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--neo-text-3);
}

.neo-gallery-trash > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border-radius: 7px;
	background: var(--neo-card-weak);
}

.neo-gallery-trash svg {
	width: 15px;
	height: 15px;
}

.neo-gallery-trash strong {
	display: block;
	color: var(--neo-text-2);
	font-size: 11px;
}

.neo-gallery-trash p {
	margin: 3px 0 0;
	font-size: 10px;
	line-height: 1.55;
}

@media (max-width: 1100px) {
	.neo-gallery-shell {
		grid-template-columns: 190px minmax(0, 1fr);
	}

	.neo-gallery-right {
		display: none;
	}
}

@media (max-width: 820px) {
	.neo-gallery-shell {
		display: block;
		margin-top: 15px;
		padding: 0 14px;
	}

	.neo-gallery-left {
		position: static;
		top: auto;
		bottom: auto;
		left: auto;
		z-index: auto;
		width: auto;
		max-width: none;
		padding: 0;
		background: transparent;
		overflow: visible;
		transform: none;
		transition: none;
		margin-bottom: 18px;
	}

	.neo-gallery-brand {
		margin-bottom: 12px;
	}

	.neo-gallery-nav {
		display: flex;
		gap: 4px;
		overflow-x: auto;
	}

	.neo-gallery-nav a {
		flex: 0 0 auto;
		padding: 0 11px;
	}

	.neo-gallery-nav__section,
	.neo-gallery-storage {
		display: none;
	}

	.neo-gallery-toolbar {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 23px;
	}

	.neo-gallery-search {
		width: 100%;
	}

	.neo-gallery-toolbar__actions {
		justify-content: flex-end;
	}

	.neo-gallery-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.neo-gallery-recent {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.neo-gallery-recent .neo-album-folder:nth-child(n + 4) {
		display: none;
	}

	.neo-gallery-collection-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.neo-gallery-toolbar__actions {
		gap: 5px;
	}

	.neo-gallery-sort select,
	.neo-gallery-upload {
		font-size: 11px;
	}

	.neo-gallery-upload {
		padding: 0 9px;
	}

	.neo-gallery-upload span {
		display: none;
	}

	.neo-gallery-heading h1 {
		font-size: 24px;
	}

	.neo-gallery-heading p:last-child {
		font-size: 11px;
	}

	.neo-gallery-stats {
		gap: 7px;
		margin-bottom: 24px;
	}

	.neo-gallery-stat {
		min-height: 88px;
		padding: 12px;
	}

	.neo-gallery-stat strong {
		font-size: 18px;
	}

	.neo-gallery-recent {
		gap: 7px;
	}

	.neo-gallery-collection-grid {
		gap: 9px;
	}

	.neo-album-card__info {
		padding: 8px 9px 10px;
	}

	.neo-album-card__info strong {
		font-size: 12px;
	}

	.neo-gallery-photo-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 6px;
	}
}

/* 动态互动按钮在所有屏幕尺寸保持一致的图标样式 */
.neo-card--feed .neo-actions {
	gap: 8px;
}

.neo-card--feed .neo-action {
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border-radius: 50%;
}

.neo-card--feed .neo-action svg,
.neo-card--feed .neo-action__icon {
	width: 23px;
	height: 23px;
}

.neo-card--feed .neo-action > span {
	display: none;
}

/* 前台直接创建相册 */
.neo-gallery-upload {
	border: 0;
	cursor: pointer;
}

body.neo-album-modal-open {
	overflow: hidden;
}

.neo-album-modal[hidden] {
	display: none;
}

.neo-album-modal {
	position: fixed;
	inset: 0;
	z-index: 300;
}

.neo-album-modal__shade {
	position: absolute;
	inset: 0;
	background: rgba(17, 20, 24, 0.56);
}

.neo-album-modal__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(540px, calc(100% - 28px));
	max-height: min(720px, calc(100vh - 40px));
	margin: 20px auto;
	border-radius: 12px;
	background: var(--neo-card);
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.24);
	overflow: hidden;
}

.neo-album-modal__header,
.neo-album-modal__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 18px;
}

.neo-album-modal__header {
	border-bottom: 1px solid var(--neo-border);
}

.neo-album-modal__header h2 {
	margin: 0;
	font-size: 17px;
}

.neo-album-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 31px;
	height: 31px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--neo-text-3);
}

.neo-album-modal__close:hover {
	background: var(--neo-card-weak);
	color: var(--neo-text);
}

.neo-album-modal__close svg {
	width: 17px;
	height: 17px;
}

.neo-album-modal__content {
	padding: 18px;
	overflow-y: auto;
}

.neo-album-modal__field {
	display: block;
	margin-bottom: 13px;
}

.neo-album-modal__field > span {
	display: block;
	margin-bottom: 5px;
	color: var(--neo-text-2);
	font-size: 12px;
	font-weight: 600;
}

.neo-album-modal__field > span small {
	margin-left: 4px;
	color: var(--neo-text-3);
	font-size: 10px;
	font-weight: 400;
}

.neo-album-modal__field input,
.neo-album-modal__field select {
	display: block;
	width: 100%;
	height: 38px;
	padding: 0 10px;
	border: 1px solid var(--neo-border);
	border-radius: 7px;
	outline: 0;
	background: var(--neo-card-weak);
	color: var(--neo-text);
	font: inherit;
	font-size: 13px;
}

.neo-album-modal__field input:focus,
.neo-album-modal__field select:focus {
	border-color: var(--neo-accent);
	box-shadow: 0 0 0 3px var(--neo-accent-weak);
}

.neo-album-modal__media {
	margin-top: 18px;
	padding: 13px;
	border: 1px solid var(--neo-border);
	border-radius: 9px;
	background: var(--neo-card-weak);
}

.neo-album-modal__media-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.neo-album-modal__media-head strong,
.neo-album-modal__media-head small {
	display: block;
}

.neo-album-modal__media-head strong {
	font-size: 12px;
}

.neo-album-modal__media-head small {
	margin-top: 3px;
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-album-modal__choose {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 31px;
	padding: 0 9px;
	border-radius: 7px;
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
	font-size: 11px;
	font-weight: 600;
	cursor: pointer;
}

.neo-album-modal__choose:hover {
	background: color-mix(in srgb, var(--neo-accent) 18%, transparent);
}

.neo-album-modal__choose svg {
	width: 14px;
	height: 14px;
}

.neo-album-modal__choose input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.neo-album-modal__previews {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 7px;
	margin-top: 12px;
}

.neo-album-modal__preview {
	display: block;
	aspect-ratio: 1;
	border-radius: 6px;
	background: var(--neo-border);
	overflow: hidden;
}

.neo-album-modal__preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-album-modal__status {
	min-height: 18px;
	margin: 12px 0 0;
	color: var(--neo-accent);
	font-size: 12px;
}

.neo-album-modal__status.is-error {
	color: var(--neo-danger);
}

.neo-album-modal__footer {
	justify-content: flex-end;
	border-top: 1px solid var(--neo-border);
}

.neo-album-modal__cancel,
.neo-album-modal__submit {
	height: 35px;
	padding: 0 14px;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 600;
}

.neo-album-modal__cancel {
	border: 1px solid var(--neo-border);
	background: var(--neo-card);
	color: var(--neo-text-2);
}

.neo-album-modal__cancel:hover {
	background: var(--neo-card-weak);
}

.neo-album-modal__submit {
	border: 0;
	background: var(--neo-accent);
	color: #fff;
}

.neo-album-modal__submit:hover:not(:disabled) {
	opacity: 0.88;
}

.neo-album-modal__submit:disabled {
	opacity: 0.55;
	cursor: wait;
}

.neo-gallery-photo-tools {
	display: flex;
	justify-content: flex-end;
	min-height: 30px;
	margin-bottom: 10px;
}

.neo-gallery-photo-tools .neo-gallery-reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 1px solid var(--neo-border);
	border-radius: 7px;
	background: var(--neo-card);
	color: var(--neo-text-3);
}

.neo-gallery-photo-tools .neo-gallery-reset:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-gallery-photo-tools .neo-gallery-reset svg {
	width: 15px;
	height: 15px;
}

.neo-gallery-photo::after {
	display: none;
}

@media (max-width: 560px) {
	.neo-album-modal__panel {
		width: calc(100% - 18px);
		max-height: calc(100vh - 20px);
		margin: 10px auto;
	}

	.neo-album-modal__content {
		padding: 15px;
	}

	.neo-album-modal__previews {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ========================================================================
 * 友情链接页
 * ======================================================================== */
.neo-friends-shell {
	grid-template-columns: 220px minmax(0, 1fr) 250px;
	gap: 24px;
	align-items: start;
}

.neo-friends-main {
	min-width: 0;
}

.neo-friends-pagehead {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	margin-bottom: 20px;
}

.neo-friends-back,
.neo-friends-apply {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.neo-friends-back {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--neo-card);
	box-shadow: var(--neo-shadow);
	color: var(--neo-text-2);
}

.neo-friends-back:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-friends-back svg {
	width: 21px;
	height: 21px;
}

.neo-friends-pagehead__title {
	min-width: 0;
	text-align: center;
}

.neo-friends-pagehead__title .neo-section-kicker {
	margin: 0;
}

.neo-friends-pagehead__title h1 {
	margin: 0;
	font-size: 25px;
	line-height: 1.25;
}

.neo-friends-pagehead__title p:last-child {
	margin: 3px 0 0;
	color: var(--neo-text-3);
	font-size: 12px;
}

.neo-friends-apply {
	gap: 5px;
	min-height: 38px;
	padding: 0 13px;
	border: 0;
	border-radius: 999px;
	background: var(--neo-accent);
	color: #fff;
	font: inherit;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

.neo-friends-apply:hover {
	color: #fff;
	opacity: 0.88;
}

.neo-friends-apply svg {
	width: 17px;
	height: 17px;
}

.neo-friends-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 17px;
	padding: 12px 0;
	border-top: 1px solid var(--neo-border);
	border-bottom: 1px solid var(--neo-border);
}

.neo-friends-intro > div {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
	flex: 0 0 auto;
}

.neo-friends-intro strong {
	font-size: 17px;
}

.neo-friends-intro span,
.neo-friends-intro p {
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-friends-intro p {
	margin: 0;
	text-align: right;
}

.neo-friends-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
}

.neo-friend-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 15px;
	min-width: 0;
	min-height: 156px;
	padding: 20px;
	border: 1px solid var(--neo-border);
	border-radius: 16px;
	background: var(--neo-card);
	box-shadow: var(--neo-shadow);
	color: var(--neo-text);
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.neo-friend-card:nth-child(4n + 1) {
	background: #fff8f1;
}

.neo-friend-card:nth-child(4n + 2) {
	background: #f3f8ff;
}

.neo-friend-card:nth-child(4n + 3) {
	background: #f5fbf5;
}

.neo-friend-card:nth-child(4n + 4) {
	background: #fbf6ff;
}

[data-theme="dark"] .neo-friend-card {
	background: var(--neo-card);
}

.neo-friend-card:hover {
	border-color: var(--neo-accent);
	box-shadow: 0 8px 22px rgba(26, 29, 33, 0.1);
	color: var(--neo-text);
	transform: translateY(-2px);
}

.neo-friend-card__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	border: 4px solid rgba(255, 255, 255, 0.84);
	border-radius: 50%;
	background: var(--neo-accent-weak);
	box-shadow: 0 3px 10px rgba(26, 29, 33, 0.08);
	color: var(--neo-accent);
	font-size: 27px;
	font-weight: 700;
	overflow: hidden;
}

.neo-friend-card__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-friend-card__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 3px;
}

.neo-friend-card__body strong,
.neo-friend-card__body > span,
.neo-friend-card__body small {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neo-friend-card__body strong {
	font-size: 17px;
	line-height: 1.35;
}

.neo-friend-card__body > span {
	color: var(--neo-text-2);
	font-size: 12px;
}

.neo-friend-card__body small {
	margin-top: 3px;
	color: var(--neo-text-3);
	font-size: 10px;
}

.neo-friend-card__arrow {
	position: absolute;
	right: 13px;
	top: 13px;
	width: 17px;
	height: 17px;
	color: var(--neo-text-3);
}

.neo-friends-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: 210px;
	padding: 26px;
	border: 1px dashed var(--neo-border);
	border-radius: 14px;
	background: var(--neo-card-weak);
	text-align: center;
}

.neo-friends-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 8px;
	border-radius: 50%;
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-friends-empty__icon svg {
	width: 23px;
	height: 23px;
}

.neo-friends-empty strong {
	font-size: 14px;
}

.neo-friends-empty p {
	margin: 3px 0 0;
	color: var(--neo-text-3);
	font-size: 12px;
}

.neo-friend-modal[hidden] {
	display: none;
}

.neo-friend-modal {
	position: fixed;
	inset: 0;
	z-index: 500;
}

.neo-friend-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 24, 29, 0.46);
}

.neo-friend-modal__dialog {
	position: relative;
	width: min(520px, calc(100% - 32px));
	max-height: calc(100vh - 48px);
	margin: 24px auto;
	padding: 22px;
	border: 1px solid var(--neo-border);
	border-radius: 14px;
	background: var(--neo-card);
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.2);
	overflow-y: auto;
}

.neo-friend-modal__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.neo-friend-modal__head h2 {
	margin: 0;
	font-size: 21px;
	line-height: 1.35;
}

.neo-friend-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--neo-card-weak);
	color: var(--neo-text-2);
}

.neo-friend-modal__close:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-friend-modal__close svg {
	width: 17px;
	height: 17px;
}

.neo-friend-form {
	display: grid;
	gap: 13px;
}

.neo-friend-form label {
	display: grid;
	gap: 5px;
}

.neo-friend-form label > span {
	color: var(--neo-text-2);
	font-size: 12px;
	font-weight: 600;
}

.neo-friend-form label em {
	color: var(--neo-danger);
	font-style: normal;
}

.neo-friend-form input,
.neo-friend-form textarea {
	display: block;
	width: 100%;
	border: 1px solid var(--neo-border);
	border-radius: 8px;
	background: var(--neo-card-weak);
	color: var(--neo-text);
	font: inherit;
	font-size: 13px;
	outline: none;
}

.neo-friend-form input {
	height: 39px;
	padding: 0 11px;
}

.neo-friend-form textarea {
	min-height: 78px;
	padding: 9px 11px;
	line-height: 1.6;
	resize: vertical;
}

.neo-friend-form input:focus,
.neo-friend-form textarea:focus {
	border-color: var(--neo-accent);
	box-shadow: 0 0 0 3px var(--neo-accent-weak);
}

.neo-friend-form__hint,
.neo-friend-form__status {
	margin: -3px 0 0;
	color: var(--neo-text-3);
	font-size: 11px;
}

.neo-friend-form__status {
	min-height: 18px;
	color: var(--neo-accent);
}

.neo-friend-form__status.is-error {
	color: var(--neo-danger);
}

.neo-friend-form__actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 2px;
}

.neo-friend-form__cancel,
.neo-friend-form__submit {
	height: 36px;
	padding: 0 16px;
	border-radius: 8px;
	font: inherit;
	font-size: 12px;
	font-weight: 600;
}

.neo-friend-form__cancel {
	border: 1px solid var(--neo-border);
	background: var(--neo-card);
	color: var(--neo-text-2);
}

.neo-friend-form__cancel:hover {
	background: var(--neo-card-weak);
}

.neo-friend-form__submit {
	border: 0;
	background: var(--neo-accent);
	color: #fff;
}

.neo-friend-form__submit:hover:not(:disabled) {
	opacity: 0.88;
}

.neo-friend-form__submit:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

body.neo-friend-modal-open {
	overflow: hidden;
}

@media (max-width: 1100px) {
	.neo-friends-shell {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.neo-friends-shell > .neo-right {
		display: none;
	}
}

@media (max-width: 820px) {
	.neo-friends-shell {
		display: block;
		margin-top: 15px;
		padding: 0 14px;
	}

	.neo-friends-main {
		width: 100%;
	}

	.neo-friends-pagehead {
		grid-template-columns: 36px minmax(0, 1fr) 36px;
		gap: 8px;
		margin-bottom: 15px;
	}

	.neo-friends-back {
		width: 34px;
		height: 34px;
		box-shadow: none;
	}

	.neo-friends-pagehead__title h1 {
		font-size: 22px;
	}

	.neo-friends-pagehead__title p:last-child {
		font-size: 11px;
	}

	.neo-friends-apply {
		width: 34px;
		min-height: 34px;
		padding: 0;
	}

	.neo-friends-apply span {
		display: none;
	}

	.neo-friends-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.neo-friend-card {
		min-height: 136px;
		padding: 17px;
	}
}

@media (max-width: 560px) {
	.neo-friends-intro {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
		padding: 10px 0;
	}

	.neo-friends-intro p {
		text-align: left;
	}

	.neo-friend-card {
		gap: 13px;
		min-height: 128px;
		padding: 15px;
		border-radius: 14px;
	}

	.neo-friend-card__avatar {
		flex-basis: 60px;
		width: 60px;
		height: 60px;
	}

	.neo-friend-card__body strong {
		font-size: 16px;
	}

	.neo-friend-card__body > span {
		font-size: 11px;
	}

	.neo-friend-modal__dialog {
		width: calc(100% - 20px);
		max-height: calc(100vh - 20px);
		margin: 10px auto;
		padding: 18px 15px;
	}
}

/* ========================================================================
 * 手机端整屏扁平布局
 * 页面内容贴合视口，取消外层卡片、圆角和浮层阴影。
 * ======================================================================== */
@media (max-width: 820px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	body {
		background: var(--neo-card);
	}

	.neo-shell,
	.neo-gallery-shell,
	.neo-friends-shell {
		display: block;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		gap: 0;
	}

	.neo-main,
	.neo-special-main,
	.neo-gallery-main,
	.neo-friends-main {
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	.neo-main .neo-hero {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	.neo-hero__cover,
	.neo-hero__bar,
	.neo-hero__stats {
		border-radius: 0;
		box-shadow: none;
	}

	.neo-feed {
		gap: 0;
	}

	.neo-space-nav,
	.neo-composer,
	.neo-card--feed,
	.neo-card--single,
	.neo-comments,
	.neo-pagehead,
	.neo-album,
	.neo-guestbook,
	.neo-friends {
		margin: 0;
		border: 0;
		border-bottom: 1px solid var(--neo-border);
		border-radius: 0;
		box-shadow: none;
		background: var(--neo-card);
	}

	.neo-space-nav {
		padding: 10px 4px 8px;
	}

	.neo-composer {
		padding: 12px 14px;
	}

	.neo-card--feed,
	.neo-card--single,
	.neo-comments {
		padding-right: 14px;
		padding-left: 14px;
	}

	.neo-pagehead,
	.neo-album,
	.neo-guestbook,
	.neo-friends {
		padding-right: 14px;
		padding-left: 14px;
	}

	.neo-special-main > .neo-album,
	.neo-special-main > .neo-guestbook {
		margin-top: 0;
	}

	.neo-footer {
		margin-top: 0;
		border-top: 1px solid var(--neo-border);
		background: var(--neo-card);
	}

	/* 相册页面取消仪表卡片，保留照片本身的网格。 */
	.neo-gallery-page {
		width: 100%;
		padding: 16px 0 0;
	}

	.neo-gallery-toolbar,
	.neo-gallery-heading,
	.neo-gallery-stats,
	.neo-gallery-section,
	.neo-gallery-photo-tools {
		padding-right: 14px;
		padding-left: 14px;
	}

	.neo-gallery-stat,
	.neo-album-card,
	.neo-gallery-empty {
		border-radius: 0;
		box-shadow: none;
	}

	.neo-gallery-stats {
		gap: 0;
	}

	.neo-gallery-stat {
		border-width: 0 1px 1px 0;
		background: transparent;
	}

	.neo-gallery-stat:nth-child(2n) {
		border-right: 0;
	}

	.neo-gallery-collection-grid {
		gap: 1px;
		background: var(--neo-border);
	}

	.neo-album-card {
		border: 0;
		background: var(--neo-card);
	}

	.neo-gallery-photo-grid {
		gap: 2px;
	}

	.neo-gallery-photo,
	.neo-album-folder__cover,
	.neo-album-card__cover {
		border-radius: 0;
	}

	/* 友链在手机端改为整宽列表，不再显示独立彩色卡片。 */
	.neo-friends-shell {
		padding: 0;
	}

	.neo-friends-pagehead,
	.neo-friends-intro {
		margin-right: 14px;
		margin-left: 14px;
	}

	.neo-friends-pagehead {
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.neo-friends-grid {
		gap: 0;
		border-top: 1px solid var(--neo-border);
	}

	.neo-friend-card,
	.neo-friend-card:nth-child(n) {
		min-height: 0;
		padding: 16px 14px;
		border: 0;
		border-bottom: 1px solid var(--neo-border);
		border-radius: 0;
		box-shadow: none;
		background: var(--neo-card);
		transform: none;
	}

	.neo-friend-card:hover {
		box-shadow: none;
		transform: none;
	}

	/* 留言输入区属于内容本身，不再包一层灰色卡片。 */
	.neo-guestbook__form {
		padding: 0 0 16px;
		border: 0;
		border-bottom: 1px solid var(--neo-border);
		border-radius: 0;
		background: transparent;
	}
}

/* ========================================================================
 * 空友爱看：友链 RSS/Atom 动态
 * ======================================================================== */
.neo-friend-feed-head {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	gap: 13px;
}

.neo-friend-feed-head__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--neo-card-weak);
	color: var(--neo-text-2);
}

.neo-friend-feed-head__back:hover {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-friend-feed-head__back svg {
	width: 21px;
	height: 21px;
}

.neo-friend-feed-head h1 {
	margin: 0;
	font-size: 22px;
	line-height: 1.3;
}

.neo-friend-feed-head p:last-child {
	margin: 3px 0 0;
	color: var(--neo-text-3);
	font-size: 12px;
}

.neo-friend-feed-card__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
	font-size: 18px;
	font-weight: 700;
}

.neo-friend-feed-card__image {
	display: block;
	width: min(460px, 100%);
	max-height: 420px;
	margin-top: 12px;
	border-radius: 4px;
	background: var(--neo-card-weak);
	overflow: hidden;
}

.neo-friend-feed-card__image img {
	display: block;
	width: 100%;
	max-height: 420px;
	object-fit: cover;
}

.neo-friend-feed-card__images {
	width: min(460px, 100%);
}

.neo-friend-feed-card__images .neo-grid__item {
	border-radius: 4px;
}

.neo-friend-feed-card__images .neo-grid__item--single,
.neo-friend-feed-card__images .neo-grid__item--single img {
	max-height: 420px;
}

.neo-friend-feed-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: 320px;
	padding: 34px 24px;
	text-align: center;
}

.neo-friend-feed-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 11px;
	border-radius: 50%;
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-friend-feed-empty__icon svg {
	width: 25px;
	height: 25px;
}

.neo-friend-feed-empty strong {
	font-size: 15px;
}

.neo-friend-feed-empty p {
	max-width: 430px;
	margin: 6px 0 12px;
	color: var(--neo-text-3);
	font-size: 12px;
	line-height: 1.7;
}

.neo-friend-feed-empty > a {
	color: var(--neo-accent);
	font-size: 13px;
	font-weight: 600;
}

@media (max-width: 820px) {
	.neo-friend-feed-head,
	.neo-friend-feed-empty {
		margin: 0;
		border: 0;
		border-bottom: 1px solid var(--neo-border);
		border-radius: 0;
		box-shadow: none;
		background: var(--neo-card);
	}

	.neo-friend-feed-head {
		padding: 14px;
	}

	.neo-friend-feed-list {
		gap: 0;
	}

	.neo-friend-feed-empty {
		min-height: 300px;
	}
}

/* ========================================================================== 
   Douban movie list widget
   ========================================================================== */
.neo-movie-widget {
	--neo-movie-bg: var(--neo-card);
	--neo-movie-panel: var(--neo-card-weak);
	--neo-movie-text: var(--neo-text);
	--neo-movie-muted: var(--neo-text-3);
	--neo-movie-blue: var(--neo-link);
	padding: 14px 14px 10px;
	background: var(--neo-movie-bg);
	color: var(--neo-movie-text);
	border: 1px solid var(--neo-border);
	box-shadow: var(--neo-shadow);
}

.neo-movie-widget .neo-widget__title {
	display: none;
}

.neo-movie-widget__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 2px 10px;
}

.neo-movie-widget__source {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 15px;
	font-weight: 700;
}

.neo-movie-widget__film {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: var(--neo-accent);
	font-size: 16px;
}

.neo-movie-widget__updated {
	color: var(--neo-movie-muted);
	font-size: 11px;
}

.neo-movie-widget__tabs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	margin-bottom: 12px;
}

.neo-movie-widget__tab {
	min-width: 0;
	padding: 7px 3px;
	border: 0;
	border-radius: 6px;
	background: var(--neo-movie-panel);
	color: var(--neo-movie-muted);
	font-size: 11px;
	line-height: 1.2;
	white-space: nowrap;
	transition: background-color .15s ease, color .15s ease;
}

.neo-movie-widget__tab b {
	margin-left: 2px;
	font-weight: 500;
}

.neo-movie-widget__tab.is-active {
	background: var(--neo-accent-weak);
	color: var(--neo-accent);
}

.neo-movie-widget__tab:hover:not(.is-active) {
	background: var(--neo-border);
	color: var(--neo-text);
}

.neo-movie-list {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.neo-movie-item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 10px;
	min-width: 0;
}

.neo-movie-item[hidden] {
	display: none;
}

.neo-movie-item__cover {
	display: block;
	width: 48px;
	height: 65px;
	border-radius: 5px;
	background: var(--neo-card-weak);
	overflow: hidden;
}

.neo-movie-item__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.neo-movie-item__cover > span {
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--neo-movie-muted);
	font-size: 18px;
}

.neo-movie-item__body {
	min-width: 0;
	padding: 1px 0;
}

.neo-movie-item__title {
	display: block;
	color: var(--neo-movie-blue);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.neo-movie-item__title:hover {
	color: var(--neo-accent);
}

.neo-movie-item__rating {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 3px;
	font-size: 12px;
}

.neo-movie-item__rating span {
	color: #ffc107;
	font-size: 12px;
	letter-spacing: 0;
	white-space: nowrap;
}

.neo-movie-item__rating b {
	color: var(--neo-text-2);
	font-weight: 500;
}

.neo-movie-item__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 3px;
}

.neo-movie-item__status {
	padding: 2px 7px;
	border: 0;
	border-radius: 4px;
	background: rgba(7, 193, 96, .2);
	color: #1bd982;
	font-size: 11px;
	line-height: 1.35;
}

.neo-movie-item__status:hover {
	filter: brightness(1.12);
}

.neo-movie-item__status.is-watching {
	background: rgba(255, 171, 0, .18);
	color: #ffc247;
}

.neo-movie-item__status.is-watched {
	background: rgba(123, 137, 166, .22);
	color: #b9c7e7;
}

.neo-movie-item__external {
	color: var(--neo-text-3);
	font-size: 17px;
	line-height: 1;
}

.neo-movie-item__external:hover {
	color: var(--neo-accent);
}

.neo-movie-widget__more {
	display: block;
	width: 100%;
	margin-top: 12px;
	padding: 4px 0 1px;
	border: 0;
	background: transparent;
	color: var(--neo-movie-blue);
	font-size: 12px;
}

.neo-movie-widget__more:hover {
	color: var(--neo-accent);
}

.neo-movie-widget__more:disabled {
	color: var(--neo-movie-muted);
	cursor: default;
}

.neo-movie-widget__empty {
	margin: 8px 0 12px;
	color: var(--neo-movie-muted);
	font-size: 12px;
}

@media (max-width: 1120px) {
	.neo-movie-widget {
		max-width: none;
	}
}
