@charset "UTF-8"; /* ==================================================
* Snapic Plus for Body Main Stylesheet by Lopwon.
* www.Lopwon.com
* 2023-10-18
* ------------------------------------------------------------------- */
@import url('snapic.font.face.css');


/* -------------------------------------------------------------- root */

:root {
    --font-family:				'Microsoft JhengHei', system-ui, -apple-system, Helvetica, Arial, sans-serif;
	--body-color:				#fcfcfc;
	--logo-color:				rgb(255 255 255 / 75%);
	--border-color:				rgb(125 125 125 / 15%);
	--overlay-color:			rgb(255 255 255 / 95%);
	
	--overlay-light:			rgb(255 255 255 / 95%);
	--overlay-dark:				rgb(0 0 0 / 15%);

	--button-white:				rgb(255 255 255 / 85%);
	--button-black:				rgb(0 0 0 / 85%);
	--button-cyan:				rgb(0 200 175 / 15%);
	--button-cyan-hover:		rgb(0 200 175 / 50%);
	--button-grey:				rgb(225 225 225 / 50%);
	--button-grey-hover:		rgb(225 225 225 / 75%);

	--wrap-white:				rgb(255 255 255 / 95%);
	--wrap-black:				rgb(0 0 0 / 95%);
	--wrap-cyan:				rgb(0 200 175 / 75%);
	--wrap-cyan-hover:			rgb(0 200 175 / 95%);
	--wrap-grey:				rgb(175 175 175 / 10%);
	--wrap-grey-hover:			rgb(175 175 175 / 15%);

	--lightbox-overlay:			#fcfcfc;
	--lightbox-desc:			#ffffff;
	--lightbox-button:			transparent;
	--lightbox-button-hover:	rgb(175 175 175 / 15%);
	--lightbox-svg:				rgb(0 0 0 / 75%);

	--size-375:					37.5%;
	--size-625:					62.5%;
	--size-875:					87.5%;
	--size-100:					100%;
	--size-125:					125%;
	--size-150:					150%;
	--size-175:					175%;
	--size-200:					200%;
	--size-300:					300%;
	--size-500:					500%;

	--color-3:					#333333;
	--color-6:					#666666;
	--color-9:					#999999;
	--color-c:					#cccccc;
	--color-white:				#ffffff;
	--color-black:				#000000;
	--color-red:				#e5432a;
	--color-orange:				#ff8800;
	--color-yellow:				#ffff00;
	--color-green:				#03ee03;
	--color-cyan:				#02cbab;
	--color-blue:				#4a86e8;
	--color-purple:				#800080;
	--color-b:					#fcfcfc;

	--plyr-color-main:			transparent;
	--mobile-bottom:			55px; /* 移动端谷歌浏览器工具栏高度 */
	
    --font-size-s: 1.0em;
    --font-size-m: 1.2em;
    --font-size-l: 1.4em;
    --font-size-xl: 1.6em;
    --font-size-xxl: 1.8em;
    --font-size-xxxl: 2.8em;
    --font-size-xxxxl: 3.0em;
}

html {
    font-family: sans-serif;
    font-size: 62.5%;
    line-height: 1.2;
    /*box-sizing 属性定义了 user agent 应该如何计算一个元素的总宽度和总高度。border-box 告诉浏览器：你想要设置的边框和内边距的值是包含在 width 内的。也就是说，如果你将一个元素的 width 设为 100px，那么这 100px 会包含它的 border 和 padding，（但不包括外边距），内容区的实际宽度是 width 减去 (border + padding) 的值。大多数情况下，这使得我们更容易地设定一个元素的宽高。*/
    box-sizing: border-box;
    /* 防止方向更改后调整字体大小 */
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    padding: 0;
    font-weight: normal;
    line-height: 1.2;
    /*text-rendering CSS 属性定义浏览器渲染引擎如何渲染字体。浏览器会在速度、清晰度、几何精度之间进行权衡。optimizeLegibility 属性值会在某些字体（比如，微软的 Calibri、Candara、Constantia 和 Corbel，或者 DejaVu 系列字体）小于 20px 时把某些相邻字符连接起来（比如 ff、fi、fl 等）。*/
    text-rendering: optimizeLegibility;
    /*应用于行级元素，用来设置浏览器是否应该在一个本来不能断开的字符串中插入换行符，以防止文本溢出其行向盒。break-word与anywhere值相同，如果行中没有其他可接受的断点，则允许在任意点将通常不可断的单词换行，但在计算最小内容内在大小时不考虑断字引入的软换行机会。*/
    word-wrap: break-word;
    background-color: var(--color-body-background);
    /* 强制使用触摸滚动效果 */
    -webkit-overflow-scrolling: touch;/* iOS Safari */
    -webkit-text-size-adjust: none;
    /* 平滑字体边缘 */
    -moz-osx-font-smoothing: grayscale;/* Firefox (Mac) */
    -webkit-font-smoothing: antialiased; /* Safari 和 Chrome */
    /*设置当内容溢出块级元素的左右两侧时所显示的内容。可以不显示，或显示滚动条，或显示溢出内容。*/
    overflow-x: hidden;
    overflow-y: auto;
}



section,
main,
article,
nav,
aside,
figcaption,
figure {
	display: block;
}


/* 所有 <a> 元素。*/
a {
    /*设置文本上的装饰性线条的外观*/
    text-decoration: none;
    line-height: inherit;
    outline: none;
}
p {
	margin: 4em 0;
	line-height: 1.5;
	font-family: var(--font-family);
}

#title-index-logo {
    background-image: url('../img/history.svg)');
    background-position: calc(50% - 1px) center;
    background-size: 1.5em;
    cursor: pointer;
        display: block;
    width: 3em;
    height: 3em;
    background-repeat: no-repeat;
    filter: var(--color-svg-filter);
}


ol,
ul {
	list-style: none;
}


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

a:hover, a:focus, a:active {
    /*在一条声明中设置多个轮廓属性的简写属性。border 和 outline 很类似，但有如下区别：outline 不占据空间，绘制于元素内容周围。根据规范，outline 通常是矩形，但也可以是非矩形的。*/
    outline-width: 0;
}

/* 存在 hidden 属性的 元素 */
[hidden], .hidden {
    /*使元素不再显示，其对布局不会有影响（文档渲染得好像这个元素并不存在）。所有的后代元素也不会再显示*/
    display: none !important;
}

/* 所有含有 class="clamp" 类的元素 */
.clamp {
    /*用于确定如何提示用户存在隐藏的溢出内容*/
    text-overflow: -o-ellipsis-lastline;
    /*设置了元素溢出时所需的行为*/
    overflow: hidden;
    text-overflow: ellipsis;
    /*设置元素是否被视为块级或行级盒子以及用于子元素的布局，例如流式布局、网格布局或弹性布局。*/
    /*用于移动动设备自适应布局，实现横列的流体布局*/
    display: -webkit-box;/* 使用 Flexbox 布局 */
    -webkit-box-orient: vertical;/* 垂直布局 */
    
}

/*加入的代码*/
img.lazy.grid-img {
	/*display: block;*/
	margin: 0 auto;
	width: 100%;
	height: auto;
	border-radius: 1.25em;
}

nav.show {
	position: -webkit-fixed;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: var(--body-color);
	box-shadow: 0 -0.25em 3em rgb(0 0 0 / 5%);
	visibility: visible;
	overflow-x: auto;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	z-index: 100;
}


/* -------------------------------------------------------------- post */

#target-article #post,
#target-article #extend,
#target-article #comments,
#target-article #related,
#target-article #passage,
#target-article #filing {
	padding: 0 2em;
	max-width: 960px;
}

/* ------- 标题 */

#target-article #post .head {
	display: flex;
	flex-direction: column;
	gap: 1em;
	margin-top: calc(5em * 1.5);
}

#target-article #post .head .title {
	display: flex;
	align-items: center;
	gap: 1em;
}

#target-article #post .pin-icon,
#target-article #post .lock-icon,
#target-article .grid-title .lock-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	opacity: .3;
}

*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/*连字效果 增加可读性*/
h1, h2, h3, h4, h5, h6 {
	-webkit-font-variant-ligatures: common-ligatures;
	-moz-font-variant-ligatures: common-ligatures;
	font-variant-ligatures: common-ligatures;
	text-rendering: optimizeLegibility;
}

.snapic-grid-about-description{
    text-align: center;
}

.category-description {
	margin: 0 0 2em 0;
	text-align: center;
}

.about-title {
    margin: 2em 0;
	font-size: 1.8em;
	text-align: center;
}
/*.masonry .grid-cover, .masonry .grid-cover a, .album .grid-item a {*/
/*	display: block;*/
/*	position: relative;*/
/*}*/

/*点击格子新建窗口打开链接*/
.cover-link {
    display: block; /* 确保 `a` 元素是块级元素 */
    position: absolute; /* 使 `a` 元素绝对定位 */
    top: 0; /* 对齐父级元素顶部 */
    left: 0; /* 对齐父级元素左侧 */
    width: 100%; /* 使 `a` 元素占据父级元素的宽度 */
    height: 100%; /* 使 `a` 元素占据父级元素的高度 */
}


.grid-mark {
	display: flex;
	align-items: center;
	gap: 0.5em;
	position: absolute;
	top: 7.5em;
	right: 2em;
}

.grid-mark > span {
	padding: 0.5em 0.75em;
	border-radius: 1.25em;
	background-color: var(--wrap-cyan);
}

.grid-mark > span:hover {
	background-color: var(--wrap-cyan-hover);
}

/* -------------------------------------------------------------- main */

main {
	display: flex;
	flex-direction: row-reverse;
	margin: 0 auto;
	width: 100%;
	height: auto;
	max-width: 1920px;
	min-height: 100vh;
	background-color: var(--color-white);
	
}

article {
	flex: 1 1 0%;
	max-width: 1440px;
	overflow: auto;
}

article #target-article {
	padding: 0 2em;
	overflow-x: hidden;
}

nav {
	display: block;
	flex-shrink: 0;
	width: 100%;
	height: auto;
	max-width: 480px;
}

nav.show {
	position: -webkit-fixed;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: var(--body-color);
	box-shadow: 0 -0.25em 3em rgb(0 0 0 / 5%);
	visibility: visible;
	overflow-x: auto;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	z-index: 100;
}

#menu {
	display: none;
	align-items: center;
	justify-content: center;
	position: -webkit-fixed;
	position: fixed;
	bottom: calc(3em + 5em + 1em);
	right: calc(1.5em * 2 - 5em / 2);
	width: 5em;
	height: 5em;
	border-radius: 2em;
	background-color: var(--button-cyan);
	cursor: pointer;
	z-index: 99;
}


/*.snapic-menu a {*/
/*    background-image: url('../img/icon/menu.svg');*/
/*    background-size: 2.5em;*/
/*    background-position: calc(50% - 0px) center;*/
/*}*/

#menu-logo {
    background-image: url('../img/icon/menu.svg');
    background-position: calc(50% - 1px) center;
    background-size: 1.5em;
    cursor: pointer;
        display: block;
    width: 3em;
    height: 3em;
    background-repeat: no-repeat;
    filter: var(--color-svg-filter);
}

#menu:hover {
	background-color: var(--button-cyan-hover);
}

#menu .menu-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 2em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon/menu.svg');
}

#nav {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 0 2em;
	width: auto;
	height: 100%;
	min-height: 50vh;
	max-height: 100vh;
	text-align: right;
	overflow-x: hidden;
	overflow-y: auto;
}

#nav .blog {
	margin-top: calc(5em * 1.5);
	margin-bottom: 3em;
}

#nav .blog a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5em;
	width: 100%;
}



#nav .blog .name {
	display: none;
	font-size: 0;
	color: transparent;
}

#nav .menu {
	margin-top: auto;
}

#nav:hover .menu {
	visibility: visible !important;
	opacity: 1 !important;
	-webkit-transition: opacity 0.3s ease, visibility 0s linear 0s !important;
	transition: opacity 0.3s ease, visibility 0s linear 0s !important;
}

#nav .menu ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5em;
}

#nav .menu ul li a:not(.history a) {
	font-size: var(--size-150);
	color: var(--color-3);
	cursor: pointer;
}

#nav .menu ul li a:not(.history a):hover {
	color: var(--color-black);
}

#history .history-icon,
#so .search-icon,
#search-form .search-submit .search-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 2em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	cursor: pointer;
}

#history .history-icon {
	background-image: url(../img/history.svg);
}

#so .search-icon,
#search-form .search-submit .search-icon {
	background-image: url(../img/icon/search.svg);
}

#history .history-icon,
#so .search-icon {
	opacity: .3;
}

#history .history-icon:hover,
#so .search-icon:hover {
	opacity: .7;
}

#nav .info {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25em;
	margin: 3em 0;
}

#nav .info a {
	font-size: var(--size-100);
	color: var(--color-c);
}
#nav .info a:hover {
	color: var(--color-9);
}

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

[id*="header-"] {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 480px;
	max-height: 1920px;
	border-top: 0.5em solid black;
	background-color: var(--color-black);
	overflow: hidden;
}

#header .bgimg {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

#header .leadstory {
	display: flex;
	align-items: center;
	flex-direction: column;
	position: absolute;
	top: 25%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
}

#header .leadstory .title {
	position: relative;
	font-size: var(--size-150);
	color: var(--color-white);
	white-space: nowrap;
}

#header .leadstory .title span:first-child {
	font-size: var(--size-500);
	font-weight: bold;
}

#header .leadstory sup {
	display: block;
	position: absolute;
	top: -1em;
	right: -2em;
	font-size: var(--size-150);
}

#header .leadstory a {
	margin-top: 3em;
	padding: 1.5em 2em;
	border-radius: 3em;
	background-color: var(--button-white);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

#header .leadstory a:hover {
	background-color: var(--button-black);
}

#header .leadstory .more {
	font-size: var(--size-125);
	color: var(--color-black);
}

#header .leadstory a:hover .more {
	color: var(--color-white);
}

#header .desc {
	display: flex;
	align-items: center;
	flex-direction: column;
	position: absolute;
	bottom: 7em;
	left: 50%;
	font-size: var(--size-125);
	color: var(--color-white);
	line-height: 1.75;
	text-align: center;
	white-space: nowrap;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
}

#header .open .open-icon {
	position: absolute;
	bottom: 1em;
	left: 50%;
	width: 3em;
	height: 3em;
	background-size: contain;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon/open.svg');
	-webkit-filter: invert(100%) grayscale(100%);
	filter: invert(100%) grayscale(100%);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-animation: open 1s ease 1s infinite alternate;
	animation: open 1s ease 1s infinite alternate;
	cursor: pointer;
	z-index: 2;
}

#header .open .open-icon:hover {
	opacity: .7 !important;
}

@-webkit-keyframes open { to { -webkit-transform: translate3d(-50%, -1em, 0); } }
@keyframes open { to { transform: translate3d(-50%, -1em, 0); } }

#header .firefly {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

#header .shaders-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 33.33333%;
	background-image: -webkit-linear-gradient(to bottom,
		rgb(18 18 18 / 0%) 0%,
		rgb(18 18 18 / 10%) 10%,
		rgb(18 18 18 / 20%) 20%,
		rgb(18 18 18 / 30%) 30%,
		rgb(18 18 18 / 40%) 40%,
		rgb(18 18 18 / 50%) 50%,
		rgb(18 18 18 / 60%) 60%,
		rgb(18 18 18 / 70%) 70%,
		rgb(18 18 18 / 80%) 80%,
		rgb(18 18 18 / 90%) 90%,
		rgb(18 18 18 / 100%) 100%
	);
	background-image: linear-gradient(to bottom,
		rgb(18 18 18 / 0%) 0%,
		rgb(18 18 18 / 10%) 10%,
		rgb(18 18 18 / 20%) 20%,
		rgb(18 18 18 / 30%) 30%,
		rgb(18 18 18 / 40%) 40%,
		rgb(18 18 18 / 50%) 50%,
		rgb(18 18 18 / 60%) 60%,
		rgb(18 18 18 / 70%) 70%,
		rgb(18 18 18 / 80%) 80%,
		rgb(18 18 18 / 90%) 90%,
		rgb(18 18 18 / 100%) 100%
	);
	z-index: 0;
}

#header #header-about .shaders-bottom {
	opacity: .3;
}
/* -------------------------------------------------------------- main */

main {
	display: flex;
	flex-direction: row-reverse;
	margin: 0 auto;
	width: 100%;
	height: auto;
	max-width: 1920px;
	min-height: 100vh;
}

article {
	flex: 1 1 0%;
	max-width: 2560px;
	overflow: auto;
}

article #target-article {
	padding: 0 2em;
	overflow-x: hidden;
}

nav {
	display: block;
	flex-shrink: 0;
	width: 100%;
	height: auto;
	max-width: 480px;
}

nav.show {
	position: -webkit-fixed;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: var(--body-color);
	box-shadow: 0 -0.25em 3em rgb(0 0 0 / 5%);
	visibility: visible;
	overflow-x: auto;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	z-index: 100;
}

#menu {
	display: none;
	align-items: center;
	justify-content: center;
	position: -webkit-fixed;
	position: fixed;
	bottom: calc(3em + 5em + 1em);
	right: calc(1.5em * 2 - 5em / 2);
	width: 5em;
	height: 5em;
	border-radius: 2em;
	background-color: var(--button-cyan);
	cursor: pointer;
	z-index: 99;
}

#menu:hover {
	background-color: var(--button-cyan-hover);
}

#menu .menu-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 2em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon/menu.svg');
}

#nav {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 0 2em;
	width: auto;
	height: 100%;
	min-height: 50vh;
	max-height: 100vh;
	text-align: right;
	overflow-x: hidden;
	overflow-y: auto;
}

#nav .blog {
	margin-top: calc(4.1em * 1.5);
	margin-bottom: 3em;
}

#nav .blog a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5em;
	width: 100%;
}

#nav .blog .logo {
	display: block;
	width: 7em;
	height: 7.5em;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/touxiang-removebg.png');
	overflow: hidden;
}

#nav .blog .name {
	display: none;
	font-size: 0;
	color: transparent;
}

#nav .menu {
	margin-top: auto;
}

#nav:hover .menu {
	visibility: visible !important;
	opacity: 1 !important;
	-webkit-transition: opacity 0.3s ease, visibility 0s linear 0s !important;
	transition: opacity 0.3s ease, visibility 0s linear 0s !important;
}

#nav .menu ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5em;
}

#nav .menu ul li a:not(.history a) {
	font-size: var(--size-150);
	color: var(--color-3);
	cursor: pointer;
}

#nav .menu ul li a:not(.history a):hover {
	color: var(--color-black);
}

#history .history-icon,
#so .search-icon,
#search-form .search-submit .search-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 2em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	cursor: pointer;
}

#history .history-icon {
	background-image: url(../img/history.svg);
}

#so .search-icon,
#search-form .search-submit .search-icon {
	background-image: url(../img/icon/search.svg);
}

#history .history-icon {
	opacity: .3;
	/*关闭点击事件*/
	pointer-events: none;
}


#so .search-icon {
	opacity: .3;

}

#history .history-icon:hover,
#so .search-icon:hover {
	opacity: .7;
}

#nav .info {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25em;
	margin: 3em 0;
}

#nav .info a {
	font-size: var(--size-100);
	color: var(--color-c);
}
#nav .info a:hover {
	color: var(--color-9);
}
/* -------------------------------------------------------------- tool */

#logo {
	display: none;
	align-items: center;
	justify-content: center;
	position: -webkit-fixed;
	position: fixed;
	top: 0;
	left: calc(1.5em * 3 - 4em / 2);
	width: 4em;
	height: 4.5em;
	border-top: 0.5em solid var(--color-orange);
	border-radius: 0 0 3em 3em;
	background-color: var(--logo-color);
	cursor: pointer;
	z-index: 99;
}

#logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4em;
	height: 4em;
}

#logo .logo-icon {
	display: block;
	width: 4em;
	height: 4em;
	background-size: 1.5em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img//touxiang-removebg-mobile.png');
}

#gotop {
	display: flex;
	align-items: center;
	justify-content: center;
	position: -webkit-fixed;
	position: fixed;
	bottom: 3em;
	width: 5em;
	height: 5em;
	border-radius: 50%;
	background-color: var(--button-grey);
	cursor: pointer;
}

#gotop {
	right: calc((50% - 5em / 2) - (1920px / 2) + (2em * 2));
	z-index: 98;
}

#gotop:hover {
	background-color: var(--button-grey-hover);
}

#gotop .gotop-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 2em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon/top.svg');
}

#header .open,
#nav .menu,
#post .music,
#menu,
#gotop {
	visibility: hidden;  /* 初始隐藏 */
	-webkit-transition: opacity 0.5s ease, visibility 0s linear 0.5s;
	transition: opacity 0.5s ease, visibility 0s linear 0.5s;  /* 添加平滑过渡效果 */
	opacity: 0;
}


#header .open.visible,
#nav .menu.visible,
#post .music.visible,
#menu.visible,
#gotop.visible {
	visibility: visible;  /* 可见 */
	-webkit-transition-delay: 0s;
	transition-delay: 0s;  /* 立即显示 */
	opacity: 1;
}

/* ------- 标题 */

#target-article #post .head {
	display: flex;
	flex-direction: column;
	gap: 1em;
	margin-top: calc(5em * 1.5);
}

#target-article #post .head .title {
	display: flex;
	align-items: center;
	gap: 1em;
}

#target-article #post .pin-icon,
#target-article #post .lock-icon,
#target-article .grid-title .lock-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	opacity: .3;
}

#target-article #post .pin-icon {
	background-size: 2em;
	background-image: url('../img/icon/pin.svg');
}

#target-article #post .lock-icon {
	background-size: 1em;
	background-image: url('../img/icon/lock.svg');
}

#target-article .grid-title .lock-icon {
	margin-bottom: -0.15em;
	margin-left: 0.5em;
	width: 1em;
	height: 1em;
	background-size: 0.75em;
	background-image: url('../img/icon/lock.svg');
}

#target-article #post .pin-icon:hover,
#target-article #post .lock-icon:hover,
#target-article .grid-title .lock-icon:hover {
	opacity: 1;
}

#target-article #post .title h1 {
	font-size: var(--size-300);
	color: var(--color-black);
	line-height: 1.5;
}

#target-article #post .head .meta {
	font-size: var(--size-125);
	color: var(--color-9);
}

/* ------- 正文 */

#target-article #post .content {
	margin: 5em 1em;
	font-size: var(--size-175);
	color: var(--color-3);
}

/* ----------------------------------------------------------- overlay */

#menu-overlay {
	display: none;
	position: -webkit-fixed;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 99;
}

#menu-overlay {
	background-color: var(--overlay-light);
}

#snow {
	position: -webkit-fixed;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	z-index: 1;
}

/* ------- 链接 */

#target-article #post .content a:not(.grid-item a):not(.cite a) {
	color: var(--color-cyan);
}

#target-article #post .content a:not(.grid-item a):not(.cite a):hover {
	color: var(--color-3);
}

#post .play-icon,
#post .img-icon,
#post .window-icon,
#post .link-icon,
#post .unlink-icon,
#post .none-icon {
	display: inline-block;
	margin-left: 0.15em;
	width: 1.25em;
	height: 1.25em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	opacity: .3;
}

#post .play-icon {
	background-size: 1em;
	margin-bottom: -0.25em;
	background-image: url('../img/icon/play.svg');
}

#post .img-icon {
	background-size: 1em;
	margin-bottom: -0.25em;
	background-image: url('../img/icon/img.svg');
}

#post .window-icon {
	background-size: 1em;
	margin-bottom: -0.25em;
	background-image: url('../img/icon/window.svg');
}

#post .link-icon {
	background-size: 0.75em;
	margin-bottom: -0.25em;
	background-image: url('../img/icon/link.svg');
}

#post .unlink-icon {
	background-size: 0.75em;
	margin-bottom: -0.25em;
	background-image: url('../img/icon/unlink.svg');
}

#post .none-icon {
	background-size: 1.25em;
	margin-bottom: -0.25em;
	background-image: url('../img/icon/none.svg');
}

/* ------- 密码 */

#target-article #post .content .protected {
	margin-top: 3em;
	text-indent: 0;
}

#target-article #post .content .protected p {
	margin: 0;
}

#target-article #post .content .protected p:last-child {
	display: flex;
	align-items: center;
	gap: 1em;
	max-width: 15em;
}

#target-article #post .content .protected .word {
	padding-left: 0.5em;
}

#target-article #post .content input[type="password"],
#target-article #post .content input[type="submit"] {
	font-size: inherit;
}

#target-article #post .content input[type="password"] {
	width: 75%;
}

#target-article #post .content input[type="submit"] {
	color: var(--color-3);
	cursor: pointer;
}

#target-article #post .content input[type="submit"]:hover {
	color: var(--color-white);
	background-color: var(--wrap-black);
}

/* ------- 援引 */

[id^="cite-"] {
	display: flex;
}

[id^="cite-"] .lazy-bgimg {
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==');
}

[id^="cite-"] .lazy-bgimg.cover {
	flex-shrink: 0;
	width: 5em;
	height: 5em;
	border-radius: 0.5em 0 0 0.5em;
}

[id^="cite-"] .lazy-bgimg.avatar {
	flex-shrink: 0;
	width: 2em;
	height: 2em;
	border-radius: 0.25em 0 0 0.25em;
}

[id^="cite-"] a {
	display: flex;
	background-color: var(--wrap-grey);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

[id^="cite-"] a:hover {
	background-color: var(--wrap-grey-hover);
	-webkit-transform: translateY(-0.15em);
	transform: translateY(-0.15em);
}

[id^="cite-cid-"] a {
	width: 300px;
	border-radius: 0.5em;
}

[id^="cite-cid-"] .info {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	gap: 0.25em;
	width: calc(100% - 1em * 2);
	height: calc(100% - 0.25em * 2);
	margin: 0.25em 1em;
}

[id^="cite-cid-"] .info .title {
	font-size: var(--size-875);
	font-weight: bold;
	color: var(--color-3);
	-webkit-line-clamp: 2;
}

[id^="cite-cid-"] .info .meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	font-size: var(--size-625);
	color: var(--color-9);
}

[id^="cite-coid-"] a {
	max-width: 600px;
	border-radius: 0.25em;
}

[id^="cite-coid-"] .info {
	display: flex;
	align-items: center;
	gap: 0.25em;
	margin: 0.25em 0.5em;
}

[id^="cite-coid-"] .info .author {
	flex-shrink: 0;
	font-size: var(--size-875);
	font-weight: bold;
	color: var(--color-3);
}

[id^="cite-coid-"] .info .quote {
	font-size: var(--size-625);
	color: var(--color-9);
}

/* ------- 更多 */

/*#target-article #post > div:not(.head):not(.content):not(.music) {*/
/*	margin: 6em 0;*/
/*}*/

#target-article #post .more > span {
	display: block;
	margin: 0.25em 0;
	width: 100%;
}

/* ------- 关于页面扩展项 */

#target-article #extend {
	display: flex;
	flex-direction: column;
	gap: 2em;
	margin: calc(5em * 2.5) 0;
	font-size: var(--size-125);
}

#target-article #extend .place > span,
#target-article #extend .child > span:not(.lose),
#target-article #extend .child > a {
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

#target-article #extend .place > span:hover,
#target-article #extend .child > span:not(.lose):hover,
#target-article #extend .child > a:hover {
	-webkit-transform: translateY(-0.25em);
	transform: translateY(-0.25em);
}

#target-article #extend .place {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-left: -0.5em;
	width: calc(100% + 1em);
}

#target-article #extend .place > span {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	margin: 0.5em;
	padding: 2em 1em;
	width: calc(100% / 6 - 0.5em * 2);
	border-radius: 1em;
	background-color: var(--wrap-grey);
}

#target-article #extend .place > span > span:first-child {
	font-size: var(--size-150);
	color: var(--color-6);
}

#target-article #extend .place > span > span:last-child {
	color: var(--color-9);
}

#target-article #extend .place a {
	color: var(--color-cyan);
}

#target-article #extend .place a:hover {
	color: var(--color-3);
}

#target-article #extend .donate,
#target-article #extend .friend,
#target-article #extend .exchange {
	display: flex;
	align-items: flex-start;
	gap: 1.5em;
}

#target-article #extend .parent > *,
#target-article #extend .child > * {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	position: relative;
	margin: 0.25em;
	padding: 0.5em 0.75em;
	width: auto;
	border-radius: 0.25em;
	background-color: var(--wrap-grey);
}

#target-article #extend .parent > *:last-child {
	color: var(--color-c);
	background-color: transparent;
}

#target-article #extend .donate .parent > *:last-child {
	border-radius: 0.75em;
	background-color: var(--button-cyan);
}

#target-article #extend .donate .parent > *:last-child:hover {
	background-color: var(--button-cyan-hover);
}

#target-article #extend .donate .parent > *:last-child span {
	color: var(--color-3);
}

#target-article #extend .parent {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#target-article #extend .cate {
	font-weight: bold;
	color: var(--color-6);
}

#target-article #extend .cate:hover {
	color: var(--color-3);
	background-color: var(--wrap-grey-hover);
}

#target-article #extend .child {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

#target-article #extend .child > * {
	position: relative;
	color: var(--color-c);
	width: calc(20% - 0.255em * 2);
}

#target-article #extend .donate .child > * ,
#target-article #extend .child > a {
	color: var(--color-6);
}

#target-article #extend .donate .child > a:nth-last-child(2) {
	color: var(--color-cyan);
}

#target-article #extend .friend .child > a sup {
	position: absolute;
	top: -0.25em;
	right: 0.25em;
	color: var(--color-cyan);
/* 	-webkit-transform: rotate(15deg);
	transform: rotate(15deg); */
}

#target-article #extend .lose sup {
	display: none;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	color: var(--color-6);
	text-align: center;
	background-color: var(--wrap-white);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#target-article #extend .lose:hover sup {
	display: flex;
	cursor: no-drop;
}

/* ------- 文末工具 */

#target-article #passage {
	display: flex;
	align-items: center;
	gap: 1em;
	margin-top: calc(5em * 2.5);
	margin-bottom: calc(5em * 5);
}

#target-article #guide {
    display: flex;
    align-items: center;
    gap: 1em;
    position: fixed;
    top: -5em;
	right: calc((50% - 5em / 2) - (1920px / 2) + (2em * 2));
	-webkit-transition: top .3s ease;
	transition: top 0.3s ease;
	z-index: 98;
}

#target-article #guide.show {
    top: 1em;
}

#target-article #guide.hide {
    top: -5em;
}


#target-article #passage > div {
	position: relative;
	-webkit-transform: translateY(3em);
	transform: translateY(3em);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	opacity: 0;
}

#target-article #passage > div.fadein {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}

#target-article #passage a,
#target-article #guide a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 5em;
	height: 5em;
	border-radius: 2em;
	background-color: var(--button-cyan);
}

#target-article #passage a:hover,
#target-article #guide a:hover {
	background-color: var(--button-cyan-hover);
}

#target-article #passage sup,
#target-article #guide sup {
	position: absolute;
	top: 0;
	right: 1em;
	font-size: var(--size-100);
	color: var(--color-3);
}

#passage .thenext a,
#passage .theprev a,
#guide .thenext a,
#guide .theprev a {
	padding: 0 !important;
}

#passage .next-icon,
#passage .comment-icon,
#passage .formerly-icon,
#passage .prev-icon,
#guide .next-icon,
#guide .comment-icon,
#guide .formerly-icon,
#guide .prev-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 2em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

#passage .next-icon,
#guide .next-icon {
	background-image: url('../img/icon/prev.svg');
}

#passage .comment-icon,
#guide .comment-icon {
	background-image: url('../img/icon/comment.svg');
}

#passage .formerly-icon,
#guide .formerly-icon {
	background-image: url('../img/icon/formerly.svg');
	background-size: 3em;
}

#passage .prev-icon,
#guide .prev-icon {
	background-image: url('../img/icon/next.svg');
}

/* ------- 有声 */

#post p .plyr,
#post p .plyr--audio .plyr__controls,
#post p .plyr--audio .plyr__controls * {
	color: var(--color-cyan);
	background: transparent;
}

#post .plyr {
	max-width: 600px;
}

#post p .plyr--audio .plyr__controls button:hover {
	opacity: .7;
}

#post p .plyr--audio .plyr__controls {
	padding: 0;
}

#post p .plyr__control svg {
	fill: var(--color-cyan);
}

/* ------- 音乐 */

#post .music {
	position: -webkit-fixed;
	position: fixed;
	bottom: calc(3em + 5em + 1em);
	width: 5em;
	height: 5em;
	right: calc((50% - 5em / 2) - (1920px / 2) + (2em * 2));
	cursor: pointer;
	z-index: 9;
}

#post .music .plyr {
	min-width: auto;
}

#post .music .plyr--audio .plyr__controls {
	padding: 0;
	border-radius: 50%;
	background: var(--button-grey);
}

#post .music .plyr--audio .plyr__controls:hover {
	background: var(--button-grey-hover);
}

#post .music .plyr--audio .plyr__control {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	width: 5em;
	height: 5em;
}

#post .music .plyr__control svg {
	width: 1.25em;
	height: 1.25em;
	color: var(--color-black);
}

#post .music .plyr__control[aria-label="Play"] svg {
	margin-left: 0.25em;
}

/* ------- 文末备案 */

#target-article #filing {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.25em;
	margin: 1em 0 3em 0;
	height: 5em;
	font-size: var(--size-100);
}

#target-article #filing a {
	font-size: var(--size-100);
	color: var(--color-c);
}

#target-article #filing a:hover {
	color: var(--color-9);
}

/* ------- 文内图片 */

[id^="grid-single-"] {
	display: flex;
}

[id^="grid-single-"] a {
	position: relative;
	/*pointer-events: none;*/
}


#target-article .glightbox .escaped {
	display: block;
	margin: 0.5em 0;
	padding: 0 1.25em;
	font-size: var(--size-625);
	color: var(--color-9);
	text-align: left;
}

/* ------- 文内组图 */

[id^="gallery-"] {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
}

[id^="gallery-"] a {
	position: initial;
}

[id^="gallery-"] [id^="grid-"]:first-child {
	flex: 1 1 100%; /* 第一个元素占据整行 */
}

[id^="gallery-"] [id^="grid-"]:not(:first-child) {
	flex: 1 1 calc((100% - 1em) / 3); /* 其他元素平分剩余空间 */
	padding-top: calc((100% - 1em) / 3); /* 创建 1:1 的宽高比 */
}

[id^="gallery-"] [id^="grid-"]:first-child a { /* 使得占位符是以 100% 宽度为基准的方形，避免无高度 */
	display: block;
	width: 100%;
	height: auto;
}

[id^="gallery-"] [id^="grid-"] img {
	width: 100%;
	height: 100% !important;
	border-radius: calc(1.25em / 2);
	object-fit: cover;
}

[id^="gallery-"] [id^="grid-"] .escaped {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0 !important;
	padding: 1em !important;
	padding-top: 1.25em !important;
	padding-bottom: 0.5em !important;
	width: calc(100% - 1em * 0);
	height: auto;
	color: var(--color-c) !important;
	border-radius: 0 0 calc(1.25em / 2);
	background: -webkit-linear-gradient(to bottom,
		rgb(18 18 18 / 0%) 0%,
		rgb(18 18 18 / 10%) 10%,
		rgb(18 18 18 / 20%) 20%,
		rgb(18 18 18 / 30%) 30%,
		rgb(18 18 18 / 40%) 40%,
		rgb(18 18 18 / 50%) 50%,
		rgb(18 18 18 / 60%) 60%,
		rgb(18 18 18 / 70%) 70%,
		rgb(18 18 18 / 80%) 80%,
		rgb(18 18 18 / 90%) 90%,
		rgb(18 18 18 / 100%) 100%
	);
	background: linear-gradient(to bottom,
		rgb(18 18 18 / 0%) 0%,
		rgb(18 18 18 / 10%) 10%,
		rgb(18 18 18 / 20%) 20%,
		rgb(18 18 18 / 30%) 30%,
		rgb(18 18 18 / 40%) 40%,
		rgb(18 18 18 / 50%) 50%,
		rgb(18 18 18 / 60%) 60%,
		rgb(18 18 18 / 70%) 70%,
		rgb(18 18 18 / 80%) 80%,
		rgb(18 18 18 / 90%) 90%,
		rgb(18 18 18 / 100%) 100%
	);
}

[id^="gallery-"] [id^="grid-"]:hover .escaped {
	color: var(--color-white) !important;
}

[id^="gallery-"] [id^="grid-"]:not(:first-child) img {
	position: absolute;
	top: 0;
	left: 0;
}

[id^="gallery-"] [id^="grid-"]:not(:first-child):hover img {
	/* object-fit: contain; */
}

/* ----------------------------------------------------------- comment */

#comments > .comment-list {
	margin-top: calc(5em * 5);
}

#comments .respond {
	margin-bottom: calc(5em * 5 - 2em);
}

/* comment-wrap */

.comment-list > .comment-wrap {
	margin-bottom: calc(5em * 2); /* 把不同父级 comment-parent 间隔开 */
}

.comment-children .comment-wrap {
	margin-bottom: 0; /* 清除子级下 comment-parent 的间隔 */
}

.comment-body {
	position: relative;
	padding: 1em 0 1em 48px;
	list-style: none;
}

.comment-body .comment-children {
	margin: 0;
	padding: 0;
}

.comment-body .comment-children li {
	padding-left: 10px;
	border-left: 1px solid var(--border-gery);
}

/* comment-author */

.comment-author span img,
.comment-author .noAvater {
	position: absolute;
	object-fit: contain;
	border-radius: 50%;
	vertical-align: bottom;
}

.comment-author span img {
	left: calc((48px - (24px + 0.5em * 2)) / 2);
	margin: 0.5em;
	width: 24px;
	height: 24px;
}

.comment-author .noAvater {
	display: flex;
	justify-content: center;
	align-items: center;
	left: 8px;
	width: 32px;
	height: 32px;
	font-size: var(--size-150);
	color: var(--color-9);
	background-color: var(--wrap-grey);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	cursor: default;
}

.comment-author .noAvater:hover {
	background-color: var(--wrap-grey-hover);
}

.comment-author .fn {
	font-size: var(--size-150);
	font-style: normal;
	line-height: 32px;
	color: var(--color-9);
}

.comment-author .fn a {
	font-weight: bold;
	color: var(--color-3);
}

.comment-author .fn a:hover {
	color: var(--color-cyan);
}

.comment-author .comment-info,
.comment-author .comment-meta {
	font-size: var(--size-100);
	color: var(--color-9);
	cursor: default;
}

.comment-author .comment-info .friend {
	color: var(--color-orange);
}

.comment-author .comment-awaiting-moderation {
	margin-left: 0.5em;
	font-size: var(--size-125);
	color: var(--color-black);
}

/* comment-pinchat */

.comment-content .pinchat {
    position: absolute;
    top: -1em;
    left: -1em;
}

.comment-content .pinchat .pin-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 1.5em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon/pinchat.svg');
}

/* comment-content */

.comment-content {
	display: inline-block;
	position: relative;
	padding: 1em 2em;
	margin-top: 0.5em;
	margin-right: 2em;
	font-size: var(--size-150);
	color: var(--color-6);
	word-break: break-all;
	border-radius: 0.5em 3em 3em 3em;
	background-color: var(--wrap-grey);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.comment-content:hover {
	background-color: var(--wrap-grey-hover);
}

.comment-content p {
	margin: 1em 0;
	line-height: 1.2;
}

.comment-content .at a {
	display: inline-block;
	margin: 1em 0;
	font-size: var(--size-875);
	color: var(--color-c);
	text-align: justify;
}

.comment-content .at a:hover {
	color: var(--color-9);
}

.comment-content .at::after {
	width: auto;
	max-width: 50vw;
}

/* comment-navigator */

#comments .comment-pagenav {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	gap: 1em;
	position: relative;
	margin-left: auto;
	max-width: 15em;
}

#comments .comment-pagenav .page-navigator {
	flex-shrink: 0;
	gap: 5em;
	width: 100%;
}

#comments .comment-pagenav .page-navigator li.prev {
	margin-right: auto;
}

#comments .comment-pagenav .page-navigator li.next {
	margin-left: auto;
}

#comments .comment-pagenav .pageNavOf {
	position: absolute;
}

/* comment-form */

#comments .respond {
	margin-top: 3em;
}

.comment-list .comment-reply {
	display: inline-block;
	position: absolute;
	margin-top: 0.5em;
	margin-left: -3.5em;
}

.comment-list .reply-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 1.5em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon/reply.svg');
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	opacity: .3;
}

.comment-list .reply-icon:hover {
	opacity: 1;
}

#comment-form .cancelreply a,
#comment-form .comment-logout * {
	font-size: var(--size-125);
	color: var(--color-cyan);
}

#comment-form .comment-logout span {
	color: var(--color-9);
}

#comment-form .cancelreply a:hover,
#comment-form .comment-logout a:hover {
	color: var(--color-3);
}

#comment-form fieldset {
	border: 0;
}

#comment-form .comment-submit {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 1em;
}

#comment-form .form-full {
	width: 100%;
}

#comment-form .form-item {
	width: calc(25% - 0.5em);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="submit"],
button[type="submit"],
textarea {
	font-family: var(--font-family);
	margin: 0.5em 0;
	padding: 1em;
	/*height: 4em;*/
	font-size: var(--size-150);
	color: var(--color-6);
	border: 0;
	border-radius: 0.5em;
	background-color: var(--wrap-grey);
	outline: none !important;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="submit"]:focus,
button[type="submit"]:focus,
textarea:focus {
	color: var(--color-3);
	border: 1px dashed var(--border-color);
	background-color: var(--wrap-grey-hover);
}

#comment-form .textarea {
	height: 7.5em;
}

#comment-form .submit {
	margin-left: auto;
	color: var(--color-3);
	cursor: pointer;
}

#comment-form .submit:hover {
	color: var(--color-white);
	background-color: var(--wrap-black);
}

/* comment-other */

/* #comments .closing {
	margin-top: 3em;
	font-size: var(--size-125);
	font-weight: normal;
	color: var(--color-9);
	text-align: center;
	clear: both;
} */

/* ------------------------------------------------------------ search */

#seek {
	display: flex;
	flex-direction: column;
	position: -webkit-fixed;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: var(--color-white);
	z-index: 100;
}

#seek > div:not(.control) {
	padding: 0 2em;
	max-width: 960px;
}

#seek .close {
	display: flex;
	justify-content: center;
	align-items: center;
	position: -webkit-fixed;
	position: fixed;
	top: 2em;
	right: calc((50% - 5em / 2) - (1920px / 2) + (2em * 2));
	width: 5em;
	height: 5em;
	border-radius: 50%;
	background-color: var(--button-darkgrey);
	cursor: pointer;
	z-index: 99;
}

#seek .close:hover {
	background-color: var(--button-darkgrey-hover);
}

#seek .close-icon {
	display: block;
	width: 3em;
	height: 3em;
	background-size: 2em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url(../img/icon/close.svg);
}

#seek .search {
	margin: calc(5em * 2.5) auto;
}

#seek .search #search-form {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	max-width: 30em;
}

#seek input[type="text"] {
	width: 75%;
}

#seek .search-submit {
	flex-shrink: 0;
	display: flex;
	margin: 0;
	padding: 0;
	width: 5em;
	height: 5em;
	font-size: var(--size-100);
	border-radius: 50%;
	background-color: var(--button-darkgrey);
	align-items: center;
	justify-content: center;
}

#seek .search-submit:hover {
	background-color: var(--button-darkgrey-hover);
}

#seek .search-submit .search-icon {
	width: 5em;
	height: 5em;
}

#seek .tags {
	display: flex;
	flex-direction: column;
	gap: 2em;
	margin: 0 auto 5em auto;
	font-size: var(--size-125);
}

#seek .parent {
	display: flex;
	align-items: flex-start;
	gap: 1.5em;
}

#seek .cate,
#seek .child a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	position: relative;
	margin: 0.25em;
	padding: 0.5em 0.75em;
	width: auto;
	color: var(--color-6);
	border-radius: 0.25em;
	background-color: var(--wrap-grey);
}

#seek .cate:hover,
#seek .child a:hover {
	color: var(--color-3);
	background-color: var(--wrap-grey-hover);
}

#seek .cate {
	flex-shrink: 0;
	font-weight: bold;
}

#seek .child {
	display: flex;
	flex-wrap: wrap;
}

#seek .child a {
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

#seek .child a:hover {
	-webkit-transform: translateY(-0.25em);
	transform: translateY(-0.25em);
}

#seek sup {
	font-size: var(--size-875);
}


/* ------------------------------------------------------------ mobile */

@media (max-width: 1920px) {

	nav {
		max-width: 25vw;
	}

	#target-article #guide,
	#post .music,
	#gotop {
		right: calc(2em * 2 - 5em / 2);
	}

}


@media (max-width: 2560px) {
    img.lazy.grid-img,
	.grid-thumb,
	.grid-mark > span,
	.masonry .grid-item:not(.pagenav) a::before,
	.album .grid-item a::before,
	.grid-soundstory,
	[id^="gallery-"] [id^="grid-"] .escaped	{
		border-radius: 1em;
		/*width: 60%;*/
	}
}

@media (max-width: 1440px) {

	#header .leadstory .title {
		font-size: var(--size-125);
	}

	article #target-article {
		padding: 0 1.75em;
	}

	#target-article #post,
	#target-article #extend,
	#target-article #comments,
	#target-article #related,
	#target-article #passage,
	#target-article #filing {
		padding: 0 1.75em;
	}

	#target-article #extend .child > * {
		width: calc(25% - 0.255em * 2);
	}

	nav {
		max-width: 20vw;
	}

	#nav {
		padding: 0 1.75em;
	}

	.masonry .grid-sizer,
	.masonry .grid-item,
	.album .grid-sizer,
	.album .grid-item {
		margin: 1.75em;
		width: calc(100% / 3 - 1.75em * 2);
	}

	.masonry #grid-note-head {
		width: calc(100% - 1.75em * 2);
	}

	.masonry #grid-note-head .meta {
		margin-bottom: 5.25em;
	}

	img.lazy.grid-img,
	.grid-thumb,
	.grid-mark > span,
	.masonry .grid-item:not(.pagenav) a::before,
	.album .grid-item a::before,
	.grid-soundstory,
	[id^="gallery-"] [id^="grid-"] .escaped	{
		border-radius: 1em;
	}

	.pagenav {
		margin: calc(5em * 3.75) 1.75em 0 1.75em !important;
	}


	#comments {
		margin-bottom: calc(5em * 5 - 1.75em);
	}

	.album {
		margin-top: calc(5em * 5 - 1.75em);
	}

	#seek .close {
		right: 3.5em;
	}

	#seek > div:not(.control) {
		padding: 0 1.75em;
	}

	#target-article #guide,
	#post .music,
	#gotop {
		right: calc(1.75em * 2 - 5em / 2);
	}

}

@media (max-width: 960px) {

	#header .leadstory .title {
		font-size: var(--size-125);
	}

	#header .leadstory sup {
		font-size: var(--size-125);
	}

	article #target-article {
		padding: 0 1.5em;
	}

	#target-article #post,
	#target-article #extend,
	#target-article #comments,
	#target-article #related,
	#target-article #passage,
	#target-article #filing {
		padding: 0 1.5em;
	}

	#target-article #post .head {
		margin-top: 5em;
	}

	#target-article #post .content {
		margin: 3em 0;
	}

	#post .music {
		bottom: calc(3em + (5em + 1em) * 2);
	}

	#target-article #passage {
		margin-bottom: 1em;
	}

	#target-article #filing {
		pointer-events: none;
	}

	#logo {
		display: flex;
	}

	nav {
		width: 0;
		max-width: calc(33.33333vw - 1.5em / 3);
		-webkit-transition: transform 0.3s ease;
		transition: transform 0.3s ease;
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		visibility: hidden;
		overflow-x: hidden;
	}

	#nav {
		padding: 0 1.5em;
		text-align: center;
	}

	#nav > div {
		width: 100%;
	}

	#nav .blog {
		margin-bottom: 5em;
	}

	#nav .menu ul {
		gap: 2em;
	}

	#nav .menu ul li a:not(.history a) {
		font-size: var(--size-175);
	}

	#so .search-icon {
		margin: 0 auto;
		background-position: 50% 50%;
	}

	#nav .menu {
		margin-top: 0;
		margin-bottom: auto;
		visibility: visible;
		opacity: 1;
	}

	#nav .info {
		align-items: center;
		margin-bottom: calc(3em + var(--mobile-bottom));
	}

	#menu {
		display: flex;
	}

	.masonry {
		margin: 3.75em auto 3em auto;
	}

	.masonry .grid-sizer,
	.masonry .grid-item,
	.album .grid-sizer,
	.album .grid-item {
		margin: 1.5em;
		width: calc(100% / 3 - 1.5em * 2);
	}

	.masonry #grid-note-head {
		width: calc(100% - 1.5em * 2);
	}

	.masonry #grid-note-head .meta {
		margin-bottom: 2em;
	}

	img.lazy.grid-img,
	.grid-thumb,
	.grid-mark > span,
	.masonry .grid-item:not(.pagenav) a::before,
	.album .grid-item a::before,
	.grid-soundstory,
	[id^="gallery-"] [id^="grid-"] .escaped	{
		border-radius: 0.75em;
		
	}

	.thumb-icon,
	.music-icon,
	.video-icon {
		width: 1.5em;
		height: 1.5em;
	}

	.pagenav {
		margin: calc(5em * 2) 1.5em 0 1.5em !important;
	}

	#comments {
		margin-top: calc(5em * 2.5);
		margin-bottom: calc(5em * 2.5 - 1.5em);
	}

	.album {
		margin-top: calc(5em * 2.5 - 1.5em);
	}

	#seek > div:not(.control) {
		padding: 0 1.5em;
	}

	#target-article #guide,
	#post .music,
	#gotop {
		right: calc(1.5em * 2 - 5em / 2);
	}

}

@media (max-width: 768px) {

	#header .leadstory .title {
		font-size: var(--size-100);
	}

	article #target-article {
		padding: 0 1.25em;
	}

	#target-article #post,
	#target-article #extend,
	#target-article #comments,
	#target-article #related,
	#target-article #passage,
	#target-article #filing {
		padding: 0 1.25em;
	}

	#target-article #extend .place > span {
		width: calc(100% / 3 - 0.5em * 2);
	}

	#target-article #extend .child > * {
		width: calc(33.33333% - 0.255em * 2);
	}

	nav {
		max-width: calc(50vw - 1.25em);
	}

	#nav {
		padding: 0 1.25em;
	}

	.masonry .grid-sizer,
	.masonry .grid-item,
	.album .grid-sizer,
	.album .grid-item {
		margin: 1.25em;
		width: calc(100% / 2 - 1.25em * 2);
	}

	.masonry #grid-note-head {
		width: calc(100% - 1.25em * 2);
	}

	.masonry #grid-note-head .meta {
		margin-bottom: 2.75em;
	}

	.pagenav {
		margin: calc(5em * 2) 1.25em 0 1.25em !important;
	}

	#comments {
		margin-bottom: calc(5em * 2.5 - 1.25em);
	}

	#comment-form .form-item {
		width: calc(50% - 0.5em);
	}

	.album {
		margin-top: calc(5em * 2.5 - 1.25em);
	}

	#logo {
		left: calc(1.25em * 3 - 4em / 2);
	}

	#seek > div:not(.control) {
		padding: 0 1.25em;
	}

	#menu,
	#target-article #guide,
	#post .music,
	#gotop {
		right: calc(1.25em * 2);
	}

}

@media (max-width: 640px) {

	[id*="header-"] {
		height: calc(100vh - var(--mobile-bottom));
		min-height: 480px;
		max-height: 1200px;
	}

	#header .leadstory .title {
		font-size: var(--size-875);
	}

	article #target-article {
		padding: 0 1em;
	}

	#target-article #post,
	#target-article #extend,
	#target-article #comments,
	#target-article #related,
	#target-article #passage,
	#target-article #filing {
		padding: 0 1em;
	}

	#target-article #extend .donate,
	#target-article #extend .friend,
	#target-article #extend .exchange {
		flex-direction: column;
		gap: 0;
	}

	#target-article #extend .parent {
		flex-direction: row;
	}

	nav {
		max-width: calc(50vw - 1em);
	}

	#nav {
		padding: 0 1em;
	}

	.masonry .grid-sizer,
	.masonry .grid-item,
	.album .grid-sizer,
	.album .grid-item {
		margin: 1em;
		width: calc(100% / 2 - 1em * 2);
	}

	.masonry #grid-note-head {
		width: calc(100% - 1em * 2);
	}

	.masonry #grid-note-head .meta {
		margin-bottom: 3.25em;
	}

	.pagenav {
		margin: calc(5em * 2) 1em 0 1em !important;
	}

	#target-article #post .donate {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	#target-article #post .donate .glightbox {
		margin-left: 0.75em;
	}

	.gslide-inline #coffee {
		max-height: 300px;
	}
	
	.gslide-inline #coffee .pay {
		max-width: 20em;
	}	

	#related .grid-item {
		width: calc(50% - 1em);
	}

	#related .grid-more {
		font-size: var(--size-625);
	}

	#comments {
		margin-bottom: calc(5em * 2.5 - 1em);
	}

	.album {
		margin-top: calc(5em * 2.5 - 1em);
	}

	#logo {
		left: calc(1em * 3 - 4em / 2);
	}

	#seek .parent {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	#seek > div:not(.control) {
		padding: 0 1em;
	}

	#menu,
	#target-article #guide,
	#post .music,
	#gotop {
		right: calc(1em * 2);
	}

	[id^="gallery-"] [id^="grid-"] {
		border-radius: 1em;
	}

}

@media (max-width: 480px) {

	#header .leadstory .title {
		font-size: var(--size-625);
	}

	article #target-article {
		padding: 0 0.75em;
	}

	#target-article #post,
	#target-article #extend,
	#target-article #comments,
	#target-article #related,
	#target-article #passage,
	#target-article #filing {
		padding: 0 0.75em;
	}

	#target-article #extend .child > * {
		width: calc(50% - 0.255em * 2);
	}

	nav {
		max-width: calc(50vw - 0.75em);
	}

	#nav {
		padding: 0 0.75em;
	}

	.masonry {
		margin: 4em auto 3em auto;
	}

	.masonry .grid-sizer,
	.masonry .grid-item,
	.album .grid-sizer,
	.album .grid-item {
		margin: 0.75em;
		width: calc(100% / 2 - 0.75em * 2);
	}

	.masonry #grid-note-head {
		width: calc(100% - 0.75em * 2);
	}

	.masonry #grid-note-head .meta {
		margin-bottom: 3.75em;
	}

	.pagenav {
		margin: calc(5em * 2) 0.75em 0 0.75em !important;
	}

	.gslide-inline #coffee {
		max-height: 250px;
	}
	
	.gslide-inline #coffee .pay {
		max-width: 15em;
	}

	#comments {
		margin-bottom: calc(5em * 2.5 - 0.75em);
	}

	#comment-form .form-item {
		width: 100%;
	}

	.album {
		margin-top: calc(5em * 2.5 - 0.75em);
	}

	#logo {
		left: calc(0.75em * 3);
	}

	#seek > div:not(.control) {
		padding: 0 0.75em;
	}

	#menu,
	#target-article #guide,
	#post .music,
	#gotop {
		right: calc(0.75em * 2);
	}

}

@media (max-width: 400px) {

	#header .leadstory .title {
		font-size: var(--size-625);
	}

	article #target-article {
		padding: 0 0.5em;
	}

	#target-article #post,
	#target-article #extend,
	#target-article #comments,
	#target-article #related,
	#target-article #passage,
	#target-article #filing {
		padding: 0 0.5em;
	}

	nav {
		max-width: calc(50vw - 0.5em);
	}

	#nav {
		padding: 0 0.5em;
	}

	.masonry {
		margin: 0.5em auto 3em auto;
	}

	.masonry .grid-sizer,
	.masonry .grid-item,
	.album .grid-sizer,
	.album .grid-item {
		margin: 0.5em;
		width: calc(100% / 2 - 0.5em * 2);
	}

	.masonry #grid-note-head {
		width: calc(100% - 0.5em * 2);
	}

	.masonry #grid-note-head .meta {
		margin-bottom: 4em;
	}

	.pagenav {
		margin: calc(5em * 2) 0.5em 0 0.5em !important;
	}

	#comments {
		margin-bottom: calc(5em * 2.5 - 0.5em);
	}

	.album {
		margin-top: calc(5em * 2.5 - 0.5em);
	}

	#logo {
		left: calc(0.5em * 3);
	}

	#seek > div:not(.control) {
		padding: 0 0.5em;
	}

	[id^="gallery-"] [id^="grid-"]:not(:first-child) {
		flex: 1 1 calc((100% - 1em) / 2); /* 在小屏幕上每行最多两个元素 */
		padding-top: calc((100% - 1em) / 2); /* 创建 1:1 的宽高比 */
	}

	#menu,
	#target-article #guide,
	#post .music,
	#gotop {
		right: calc(0.5em * 2);
	}

}

/* ----------------------------------------------------------- masonry */

.masonry {
	margin: 0.5em auto 3em auto;
	overflow: hidden;
}

.album {
	margin: calc(5em * 5 - 2em) auto 3em auto;
	overflow: hidden;
}

.masonry .grid-sizer,
.masonry .grid-item,
.album .grid-sizer,
.album .grid-item {
	margin: 2em;
	width: calc(100% / 4 - 2em * 2);
}

.masonry #grid-note-head {
	display: flex;
	flex-direction: column;
	gap: 1em;
	width: calc(100% - 2em * 2);
}

.masonry #grid-note-head .title h1 {
	font-size: var(--size-300);
	line-height: 1.5;
}

.masonry #grid-note-head .meta {
	margin-bottom: 4.75em;
	font-size: var(--size-125);
	color: var(--color-3);
}

[id^="grid-note-"].grid-item,
[id^="grid-archive-"].grid-item,
[id^="grid-album-"].grid-item,
[id^="grid-poster"].grid-item,
[id^="gallery-"] .grid-item {
	-webkit-transform: scale(.97);
	transform: scale(.97);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	opacity: .7;
}

[id^="grid-note-"].animate,
[id^="grid-archive-"].animate,
[id^="grid-album-"].animate,
[id^="grid-poster"].animate,
[id^="gallery-"] .grid-item.animate {
	-webkit-transform: scale(1);
	transform: scale(1);
	opacity: 1;
}


.masonry .grid-cover,
.masonry .grid-item a,
.album .grid-item a {
	display: block;
	position: relative;
}

.masonry .grid-item:not(.pagenav) a::before,
.album .grid-item a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 1.25em;
	background-color: var(--color-black);
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
	opacity: 0;
	z-index: 1;
}

.masonry .grid-item:not(.pagenav):hover a::before,
.album .grid-item:hover a::before {
	opacity: .3;
}

.grid-thumb {
	display: flex;
	align-items: center;
	gap: 0.5em;
	position: absolute !important;
	top: 1em;
	left: 1em;
	padding: 0.5em 0.75em;
	border-radius: 1.25em;
	background-color: var(--wrap-cyan);
	z-index: 2;
}

.grid-thumb:hover {
	background-color: var(--wrap-cyan-hover);
}

.thumb-icon,
.music-icon,
.video-icon {
	display: block;
	width: 1.75em;
	height: 1.75em;
	background-size: contain;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	-webkit-filter: invert(100%) grayscale(100%);
	filter: invert(100%) grayscale(100%);
}

.thumb-icon {
	background-image: url('../img/icon/thumb.svg');
}

.music-icon {
	background-image: url('../img/icon/music.svg');
}

.video-icon {
	background-image: url('../img/icon/video.svg');
}

.grid-thumb .cnt {
	font-size: var(--size-100);
	color: var(--color-white);
}

.grid-soundstory {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5em;
	border-radius: 0 0 1.25em 1.25em;
	background: -webkit-linear-gradient(to bottom,
		rgb(18 18 18 / 0%) 0%,
		rgb(18 18 18 / 10%) 10%,
		rgb(18 18 18 / 20%) 20%,
		rgb(18 18 18 / 30%) 30%,
		rgb(18 18 18 / 40%) 40%,
		rgb(18 18 18 / 50%) 50%,
		rgb(18 18 18 / 60%) 60%,
		rgb(18 18 18 / 70%) 70%,
		rgb(18 18 18 / 80%) 80%,
		rgb(18 18 18 / 90%) 90%,
		rgb(18 18 18 / 100%) 100%
	);
	background: linear-gradient(to bottom,
		rgb(18 18 18 / 0%) 0%,
		rgb(18 18 18 / 10%) 10%,
		rgb(18 18 18 / 20%) 20%,
		rgb(18 18 18 / 30%) 30%,
		rgb(18 18 18 / 40%) 40%,
		rgb(18 18 18 / 50%) 50%,
		rgb(18 18 18 / 60%) 60%,
		rgb(18 18 18 / 70%) 70%,
		rgb(18 18 18 / 80%) 80%,
		rgb(18 18 18 / 90%) 90%,
		rgb(18 18 18 / 100%) 100%
	);
	z-index: 2;
}

.grid-soundstory .plyr,
.grid-soundstory .plyr--audio .plyr__controls,
.grid-soundstory .plyr--audio .plyr__controls * {
	color: white;
	background: transparent;
}

.grid-soundstory .plyr {
	min-width: auto;
	width: 100%;
}

.grid-soundstory .plyr--audio .plyr__controls {
	padding: 0;
}

.grid-soundstory .plyr--audio .plyr__controls button:hover {
	opacity: .7;
}

.grid-soundstory .plyr__control svg {
	fill: white;
}

.grid-info {
	display: flex;
	flex-direction: column;
	gap: 1em;
	margin: 1em 0;
	padding: 0 0.5em;
	z-index: 2;
}

.masonry .grid-info,
.album .grid-info {
	position: relative;
}

.grid-mark {
	display: flex;
	align-items: center;
	gap: 0.5em;
	position: absolute;
	top: -4.5em;
	right: 1em;
}

.grid-mark > span {
	padding: 0.5em 0.75em;
	border-radius: 1.25em;
	background-color: var(--wrap-cyan);
}

.grid-mark > span:hover {
	background-color: var(--wrap-cyan-hover);
}

.grid-meta {
	display: flex;
	align-items: center;
	gap: 1em;
	position: absolute;
	top: -3.25em;
	left: 1em;
	margin-bottom: 2em;
}

.masonry.search .grid-meta .date,
.album .grid-meta .date {
	display: flex;
	align-items: center;
	gap: 0.5em;
	color: var(--color-white);
}

/* 分类页/搜索页/标签页/用户页，不显示日期 */
.masonry .grid-meta .date {
	display: none;
}

/* 搜索页的昔日，显示日期 */
.masonry.search .grid-meta .date {
	display: flex !important;
}

.masonry.search .grid-meta .gap,
.album .grid-meta .gap {
	margin-top: -0.5em;
	font-size: calc(var(--size-500) * 1.5);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.masonry .grid-item:not(.pagenav):hover .gap,
.album .grid-item:hover .gap {
	margin-top: -0.75em;
}

.masonry.search .grid-meta span:last-child,
.album .grid-meta span:last-child {
	margin-top: -3em;
	font-size: var(--size-100);
}

.grid-meta .comment {
	margin-left: auto;
}

.grid-title {
	display: flex;
	align-items: center;
	font-size: var(--size-150);
	color: var(--color-3);
}

.grid-excerpt {
	line-height: 1.5;
}

.pagenav {
	display: flex;
	align-items: center;
	gap: 1em;
	margin: calc(5em * 3.75) 2em 0 2em !important;
	width: calc(100% / 1 - 2em * 2) !important;
}

/*加入的代码结尾*/


.snapic-overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: yellow;
    background-color: rgba(0 0 0 / 75%);
    z-index: 999999;
}

/*id选择器*/
#snapic-hello {
    display: none;
    position: fixed;
    top: 33.33333%;
    left: 50%;
    padding: 1em;
    width: 75vw;
    max-width: 30em;
    max-height: 50vh;
    font-size: var(--font-size-xxl);
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 999;
}

#snapic-hello a {
    display: block;
}

#snapic-hello span {
    padding: 1em 1.25em;
    color: white;
    border-radius: 3em;
    background-color: rgba(2 203 171 / 75%);
}

#snapic-hello img {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

#snapic-hello img:hover {
    -webkit-transform: scale(.97);
    -moz-transform: scale(.97);
    -ms-transform: scale(.97);
    -o-transform: scale(.97);
    transform: scale(.97);
}


.js .loading::before, .js .loading::after, .js .grid--loading::before, .js .grid--loading::after, #pushbar_loading::before, #pushbar_loading::after {
    content: '';
    position: fixed;
    z-index: 999;
}

.js .loading::before, .js .grid--loading::before, #pushbar_loading::before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    background-color: var(--color-loading-background);
}

.js .loading::after, .js .grid--loading::after, #pushbar_loading::after {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 5em;
    height: 5em;
    margin: -2.5em 0 0 -2.5em;
    border: 0.5em solid var(--color-loading-load);
    border-bottom-color: var(--color-loading-loading);
    border-bottom-color: var(--color-loading-loading);
    border-radius: 50%;
    -webkit-animation: animLoader 0.7s linear infinite forwards;
    -moz-animation: animLoader 0.7s linear infinite forwards;
    -o-animation: animLoader 0.7s linear infinite forwards;
    -ms-animation: animLoader 0.7s linear infinite forwards;
    animation: animLoader 0.7s linear infinite forwards;
}

@-webkit-keyframes animLoader {
    to {
        -webkit-transform: rotate(360deg);
    }
}

@-moz-keyframes animLoader {
    to {
        -moz-transform: rotate(360deg);
    }
}

@-ms-keyframes animLoader {
    to {
        -ms-transform: rotate(360deg);
    }
}

@-o-keyframes animLoader {
    to {
        -o-transform: rotate(360deg);
    }
}

@keyframes animLoader {
    to {
        transform: rotate(360deg);
    }
}

.grid-aside .loading {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    color: white;
    background-color: transparent;
    z-index: 0;
}

.diyloading {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5em;
    height: 5em;
    border-radius: 50%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 88%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

.header {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 480px;
    max-height: 1920px;
    background-color: var(--color-grid-background);
    overflow: hidden;
}

.header .snapic-bgimg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.snapic-bgimg-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    bottom: 5em;
    left: 50%;
    width: 100%;
    max-width: 50vw;
    -webkit-transform: translate(-50%, 0%);
    -moz-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    -o-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    z-index: 1;
}

.snapic-bgimg-info div {
    margin: 1em 0;
}

.snapic-bgimg-author {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0;
    width: 5.2em;
    height: 5.2em;
    border: 0.25em solid var(--color-bgimg-author);
    border-radius: 50%;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    z-index: 1;
}

.snapic-bgimg-author:hover {
    border: 0.25em solid var(--color-bgimg-author-hover);
}

.snapic-bgimg-author img {
    display: block;
    width: 4.8em;
    height: 4.8em;
    border-radius: 50%;
}

.header .snapic-bgimg-description {
    position: relative;
    font-size: var(--font-size-l);
    color: var(--color-bgimg-text);
    line-height: 1.4;
    text-align: center;
}

.header .snapic-bgimg-description p {
    margin: 0.25em 0;
}

.header .snapic-bgimg-description a {
    color: var(--color-content-text-a);
}

.header .snapic-bgimg-description a:hover {
    padding-bottom: 0.1em;
    color: var(--color-content-text-hover);
    border-bottom: 0.1em dashed var(--color-content-text-a-decoration);
}

.snapic-bgimg-digg-title {
    display: block;
}

.snapic-bgimg-digg-more {
    display: inline-block;
    margin: 1em 0;
    margin-left: calc(5.2em / 2 + 0.25em - 4.5em / 2);
    padding: 0.5em 0.75em;
    width: auto;
    font-size: 87.5%;
    color: var(--color-bgimg-more-text) !important;
    border-radius: 2em;
    background-color: var(--color-bgimg-more-background);
}

.snapic-bgimg-description .snapic-bgimg-digg-more {
    margin-left: 0;
}

.snapic-bgimg-digg-more:hover {
    border-bottom: 0 !important;
    padding-bottom: 0.5em !important;
    color: var(--color-bgimg-more-text-hover) !important;
    background-color: var(--color-bgimg-more-background-hover);
}

.header .snapic-bgimg-open {
    position: absolute;
    bottom: -5em;
    width: 3em;
    height: 3em;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 3em;
    background-image: url('../img/icon/open.svg');
    filter: var(--color-svg-filter);
    -webkit-animation: open 1s ease-in-out 1s infinite alternate;
    -moz-animation: open 1s ease-in-out 1s infinite alternate;
    -ms-animation: open 1s ease-in-out 1s infinite alternate;
    -o-animation: open 1s ease-in-out 1s infinite alternate;
    animation: open 1s ease-in-out 1s infinite alternate;
    z-index: 1;
    cursor: pointer;
}

.header .snapic-bgimg-open:hover {
    opacity: .7;
}

@-webkit-keyframes open {
    to {
        -webkit-transform: translate(0, -1em);
    }
}

@-moz-keyframes open {
    to {
        -moz-transform: translate(0, -1em);
    }
}

@-ms-keyframes open {
    to {
        -ms-transform: translate(0, -1em);
    }
}

@-o-keyframes open {
    to {
        -o-transform: translate(0, -1em);
    }
}

@keyframes open {
    to {
        transform: translate(0, -1em);
    }
}

.snapic-shaders-left {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-image: linear-gradient(to left, rgba(var(--color-linear-gradient) / 0%) 0%, rgba(var(--color-linear-gradient) / 10%) 10%, rgba(var(--color-linear-gradient) / 20%) 20%, rgba(var(--color-linear-gradient) / 30%) 30%, rgba(var(--color-linear-gradient) / 40%) 40%, rgba(var(--color-linear-gradient) / 50%) 50%, rgba(var(--color-linear-gradient) / 60%) 60%, rgba(var(--color-linear-gradient) / 70%) 70%, rgba(var(--color-linear-gradient) / 80%) 80%, rgba(var(--color-linear-gradient) / 90%) 90%, rgba(var(--color-linear-gradient) / 100%) 100% );
    z-index: 0;
}

.snapic-shaders-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 33.33333%;
    background-image: linear-gradient(to bottom, rgba(var(--color-linear-gradient) / 0%) 0%, rgba(var(--color-linear-gradient) / 10%) 10%, rgba(var(--color-linear-gradient) / 20%) 20%, rgba(var(--color-linear-gradient) / 30%) 30%, rgba(var(--color-linear-gradient) / 40%) 40%, rgba(var(--color-linear-gradient) / 50%) 50%, rgba(var(--color-linear-gradient) / 60%) 60%, rgba(var(--color-linear-gradient) / 70%) 70%, rgba(var(--color-linear-gradient) / 80%) 80%, rgba(var(--color-linear-gradient) / 90%) 90%, rgba(var(--color-linear-gradient) / 100%) 100% );
    z-index: 0;
}

.snapic-bgimg-effect {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.snapic-bgimg-about {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: absolute;
    bottom: 0;
    left: calc((100% - 92.5%) / 2);
    width: 100%;
    height: 100%;
    max-width: 92.5%;
    max-height: 85vh;
    z-index: 1;
}

.snapic-bgimg-about div {
    margin: 1em 0;
}

.snapic-bgimg-about-author {
    display: flex;
    align-items: center;
}

.snapic-bgimg-about .snapic-bgimg-author {
    margin-right: 2em;
}

.snapic-bgimg-about-name {
    font-size: var(--font-size-xxxxl);
    font-weight: bold;
    color: var(--color-bgimg-text);
}

.snapic-bgimg-about-description {
    width: 50%;
    font-size: var(--font-size-l);
    line-height: 1.4;
    color: var(--color-bgimg-text);
}

.snapic-bgimg-about-more {
    display: inline-block;
    margin: 0 0.5em;
    padding: 0.5em 0.75em;
    width: auto;
    font-size: 87.5%;
    color: var(--color-bgimg-more-text) !important;
    border-radius: 2em;
    background-color: var(--color-bgimg-more-background);
}

.snapic-bgimg-about-more:hover {
    border-bottom: 0 !important;
    padding-bottom: 0.5em !important;
    color: var(--color-bgimg-more-text-hover) !important;
    background-color: var(--color-bgimg-more-background-hover);
}

.snapic-bgimg-about-skill {
    display: flex;
    flex-wrap: wrap;
    width: 75%;
    margin-top: auto !important;
    font-size: var(--font-size-s);
    color: var(--color-bgimg-text);
}

.snapic-bgimg-about-skill .about-skill-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0.25em;
    padding: 1em;
    max-width: 33.33333%;
    border-radius: 0.5em;
    background-color: var(--color-grid-background);
    opacity: .7;
}

.snapic-bgimg-about-skill .about-skill-item:hover {
    opacity: 1;
}

.snapic-bgimg-about-skill .about-skill-item span {
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.snapic-bgimg-about-sns {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2em !important;
    margin-right: calc((5.2em / 2 + 0.25em - 3em / 2) * 2 + 3em) !important;
}

.snapic-bgimg-about-sns {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2em !important;
    width: 75%;
}

.snapic-bgimg-about-sns a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0.5em;
    width: auto;
    height: 3em;
    max-width: calc(20% - 1em);
    min-width: 3em;
    font-size: var(--font-size-l);
    color: var(--color-post-text-a);
}

.snapic-bgimg-about-sns a:hover {
    color: var(--color-post-text);
    border-bottom: 0;
}

.snapic-bgimg-about-sns a span {
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.snapic-bgimg-about-sns a span:not(.clamp) {
    display: block;
    width: 2em;
    height: 2em;
    background-size: 2em;
    background-position: center;
    background-repeat: no-repeat;
    filter: var(--color-svg-filter);
    opacity: .7;
}

.snapic-bgimg-about-sns a:hover span:not(.clamp) {
    opacity: 1;
}

.snapic-bgimg-about .snapic-bgimg-open {
    bottom: 1em;
    left: auto !important;
    right: 0;
    margin-left: auto !important;
    margin-right: calc(5.2em / 2 + 0.25em - 3em / 2);
}

.snapic-bgimg-about, .snapic-bgimg-info {
    animation-delay: 0.3s;
    animation: fadeInUp 1s ease-in-out forwards;
    opacity: 0;
}

@-webkit-keyframes fadeInUp {
    to {
        opacity: 1;
    }
}

@-moz-keyframes fadeInUp {
    to {
        opacity: 1;
    }
}

@-ms-keyframes fadeInUp {
    to {
        opacity: 1;
    }
}

@-o-keyframes fadeInUp {
    to {
        opacity: 1;
    }
}

@keyframes fadeInUp {
    to {
        opacity: 1;
    }
}

#main {
    display: block;
}

.content {
    flex: 1;
    max-width: 1920px;
    margin: 0 auto;
}

.masonry {
    margin-bottom: 5px;
}

.grid {
    position: relative;
    display: block;
    margin: 0 auto;
}

.grid .grid__item {
    background-color: var(--color-grid-background);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    overflow: hidden;
}

.grid .grid__item.animate {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

.grid .grid__item.sousuo{
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

.grid .grid__item:hover {
    background-color: var(--color-grid-background-hover);
}

.grid__item.explore {
    display: flex;
    width: calc(100% - 10px) !important;
    max-height: 75px;
    background-color: transparent;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.grid__item.explore:hover {
    background-color: transparent;
}

.grid__item.explore a, .explore-aside a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
    margin: 1em 5px;
    padding: 1em;
    max-width: calc((960px - 4em) * 0.75);
    text-align: justify;
    word-break: break-all;
    word-wrap: break-word;
    background-color: var(--color-grid-background);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.grid__item.explore a:hover, .explore-aside a:hover {
    background-color: var(--color-grid-background-hover);
}

.grid__item.explore a:first-child {
    margin-left: 0;
}

.snapic-explore-title {
    margin: 1em 0;
    padding: 0 1em;
    font-size: var(--font-size-xl);
    color: var(--color-content-text);
    font-weight: bold;
    line-height: 1.6;
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.snapic-explore-title:hover {
    color: var(--color-content-text-a-hover) !important;
}

.grid__item.explore a:hover .snapic-explore-title {
    color: var(--color-content-text-hover);
}

.snapic-explore-comments {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.25em 0.5em;
    font-size: var(--font-size-s);
    color: var(--color-content-text-hover) !important;
    border-radius: 0 1em 0 0.5em;
    background-color: var(--color-author-background);
}

.grid__item.explore a:hover .snapic-explore-comments {
    background-color: var(--color-author-background-hover) !important;
}

.snapic-explore-comments:hover {
    color: var(--color-content-text-a-hover) !important;
}

.snapic-explore-open {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    top: -5px;
    right: 0;
    width: auto;
    height: auto;
    z-index: 1;
}

.snapic-explore-open a {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 1em 0;
    padding: 1em;
    padding-right: 1.75em;
    width: 75px;
    height: 55px;
    background-color: transparent;
    background-image: linear-gradient(to right, rgba(var(--color-linear-gradient) / 0%) 0%, rgba(var(--color-linear-gradient) / 10%) 10%, rgba(var(--color-linear-gradient) / 20%) 20%, rgba(var(--color-linear-gradient) / 30%) 30%, rgba(var(--color-linear-gradient) / 40%) 40%, rgba(var(--color-linear-gradient) / 50%) 50%, rgba(var(--color-linear-gradient) / 60%) 60%, rgba(var(--color-linear-gradient) / 70%) 70%, rgba(var(--color-linear-gradient) / 80%) 80%, rgba(var(--color-linear-gradient) / 90%) 90%, rgba(var(--color-linear-gradient) / 100%) 100% );
}

.snapic-explore-open a:hover {
    background-color: transparent !important;
}

.many {
    display: block;
    width: 3em;
    height: 3em;
    filter: var(--color-svg-filter);
    background-size: 3em;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('../img/icon/plus.svg');
    background-color: transparent;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: .7;
    z-index: 3;
}

.snapic-explore-open a:hover .many {
    opacity: 1;
}

.explore-aside {
    display: flex;
    flex-wrap: wrap;
    margin: 2em auto;
    padding: 0 2em;
    height: auto;
    max-width: calc(960px - 4em);
}

.explore-aside a {
    margin: 0.5em !important;
}

.explore-aside .snapic-explore-title {
    margin: 0.5em 0;
}

.grid__item.solarterm .plaintext {
    display: flex;
    position: relative;
    min-height: 7em;
    background-color: var(--color-grid-background);
}

.grid__item.solarterm:hover .plaintext {
    background-color: var(--color-grid-background-hover);
}

.grid__item.solarterm .plaintext a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.grid__item.solarterm .plaintext:hover .snapic-grid-solarterm-title {
    color: var(--color-content-text-hover);
}

.grid__item.solarterm .snapic-grid-solarterm-title:hover {
    color: var(--color-content-text-a-hover) !important;
}

.grid__item.solarterm .snapic-grid-solarterm-title {
    font-size: var(--font-size-xxxxl);
    color: var(--color-black);
}

.grid__item.solarterm .snapic-grid-solarterm-sub {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.5em 0.75em;
    font-size: var(--font-size-s);
    color: var(--color-content-text-hover) !important;
    border-radius: 0 1em 0 0.5em;
    background-color: var(--color-author-background);
}

.grid__item.solarterm .plaintext:hover .snapic-grid-solarterm-sub {
    background-color: var(--color-author-background-hover) !important;
}

.grid__item.solarterm .snapic-grid-solarterm-sub:hover {
    color: var(--color-content-text-a-hover) !important;
}

.grid__item.unlock .plaintext {
    position: relative;
    min-height: 7em;
}

.snapic-grid-unlock-icon {
    position: absolute;
    top: 1em;
    right: 1em;
    background-image: url('../img/icon/lock.svg');
    width: 1.5em;
    height: 1.5em;
    background-size: 1.2em;
    background-position: center;
    background-repeat: no-repeat;
    filter: var(--color-svg-filter);
    -webkit-transition: all .15s ease-in-out;
    -moz-transition: all .15s ease-in-out;
    -ms-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
    transition: all .15s ease-in-out;
    opacity: .15;
}

.snapic-grid-unlock-icon:hover {
    opacity: .75;
}

.snapic-grid-unlock-day, .snapic-grid-unlock-shape, .snapic-grid-unlock-shape-o {
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.snapic-grid-unlock-day {
    top: calc(50% + 0.25em);
    left: 50%;
    font-size: 1200%;
    font-weight: bold;
    -webkit-transition: all .15s ease-in-out;
    -moz-transition: all .15s ease-in-out;
    -ms-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
    transition: all .15s ease-in-out;
    cursor: default;
    opacity: .7;
    z-index: 2;
}

.snapic-grid-unlock-shape, .snapic-grid-unlock-shape-o {
    width: 6em;
    height: 6em;
    z-index: 0;
}

.snapic-grid-unlock-shape {
    top: 15%;
    left: 5%;
}

.snapic-grid-unlock-shape-o {
    top: 55%;
    left: 75%;
}

.snapic-grid-unlock-shape::before, .snapic-grid-unlock-shape-o::before, .snapic-grid-unlock-shape::after, .snapic-grid-unlock-shape-o::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.snapic-grid-unlock-shape::before {
    width: calc(100% + 1.5em);
    height: calc(100% + 1.5em);
    background: transparent;
    -webkit-animation: rotateAnimation 3s linear infinite;
    -moz-animation: rotateAnimation 3s linear infinite;
    -ms-animation: rotateAnimation 3s linear infinite;
    -o-animation: rotateAnimation 3s linear infinite;
    animation: rotateAnimation 3s linear infinite;
    opacity: .97;
    z-index: 1;
}

.snapic-grid-unlock-shape-o::before {
    width: calc(55% + 1.5em);
    height: calc(55% + 1.5em);
    background: transparent;
    -webkit-animation: rotateAnimation 5s linear infinite;
    -moz-animation: rotateAnimation 5s linear infinite;
    -ms-animation: rotateAnimation 5s linear infinite;
    -o-animation: rotateAnimation 5s linear infinite;
    animation: rotateAnimation 5s linear infinite;
    opacity: .97;
    z-index: 1;
}

.snapic-grid-unlock-shape::after {
    width: 100%;
    height: 100%;
    border: 0.5em solid var(--color-cyan);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 0;
}

.snapic-grid-unlock-shape-o::after {
    width: 55%;
    height: 55%;
    border: 0.5em solid var(--color-cyan);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 0;
}

.grid .grid__item:hover .snapic-grid-unlock-day {
    top: calc(35% + 0.25em);
    font-size: 800%;
    opacity: 1;
}

@-webkit-keyframes rotateAnimation {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
    }
}

@-moz-keyframes rotateAnimation {
    0% {
        -moz-transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -moz-transform: translate(-50%, -50%) rotate(360deg);
    }
}

@-ms-keyframes rotateAnimation {
    0% {
        -ms-transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -ms-transform: translate(-50%, -50%) rotate(360deg);
    }
}

@-o-keyframes rotateAnimation {
    0% {
        -o-transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        -o-transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes rotateAnimation {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.grid__item.about .grid__link {
    position: relative;
    height: auto;
    padding-top: calc(100% * 1/2.35);
    overflow: hidden;
}



.grid__item.about .grid__img {
    position: absolute;
    /*top: 50%;*/
    /*left: 50%;*/
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*-webkit-transform: translate(-50%, -50%) scale(1);*/
    /*-moz-transform: translate(-50%, -50%) scale(1);*/
    /*-ms-transform: translate(-50%, -50%) scale(1);*/
    /*-o-transform: translate(-50%, -50%) scale(1);*/
    /*transform: translate(-50%, -50%) scale(1);*/
    object-fit: cover;
}

.grid__item.about .grid__img:hover {
/*    -webkit-transform: translate(-50%, -50%) scale(0.97);*/
/*    -moz-transform: translate(-50%, -50%) scale(0.97);*/
/*    -ms-transform: translate(-50%, -50%) scale(0.97);*/
/*    -o-transform: translate(-50%, -50%) scale(0.97);*/
/*    transform: translate(-50%, -50%) scale(0.97);*/
}

.grid__link {
    display: block;
    position: relative;
    margin: 0 auto;
}

.grid__img {
    display: block;
    margin: 0 auto;
    width: 100%;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    cursor: pointer;
}

.grid__img:hover {
    /*-webkit-transform: scale(.97);*/
    /*-moz-transform: scale(.97);*/
    /*-ms-transform: scale(.97);*/
    /*-o-transform: scale(.97);*/
    /*transform: scale(.97);*/
}

.snapic-grid-category {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: absolute !important;
    top: calc(1em - 0.15em);
    right: 1em;
    max-width: calc(41.66667% - 1.5em);
    font-size: var(--font-size-m);
    text-align: justify;
    opacity: 0;
    z-index: 1;
}

.snapic-grid-category a {
    margin: 0.15em 0;
    padding: 0.5em;
    border-radius: 0.25em;
    background-color: var(--color-mark-category-background);
}

.snapic-grid-category, .snapic-grid-category a {
    color: var(--color-mark-category-text);
}

.snapic-grid-category a:hover {
    background-color: var(--color-mark-category-background-hover);
    opacity: 1;
}

.grid__item:hover .snapic-grid-category {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: 1;
}

.snapic-grid-top-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute !important;
    top: 1.25em;
    left: 1em;
    max-width: calc(66.66667% - 1.5em);
}

.snapic-grid-like {
    background-color: var(--color-mark-like-background);
    opacity: 0;
    cursor: pointer;
    pointer-events: auto !important;
}

.grid__item:hover .snapic-grid-like {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: 1;
}

.snapic-grid-like span {
    flex-shrink: 0;
}

.snapic-grid-thumb {
    margin-bottom: 0.5em;
    background-color: var(--color-mark-thumb-background);
    cursor: default;
}

.snapic-grid-like, .snapic-grid-thumb {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0.25em 0.75em;
    border-radius: 2em;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    z-index: 1;
}

.snapic-grid-like:hover {
    background-color: var(--color-mark-like-background-hover);
}

.snapic-grid-thumb:hover {
    background-color: var(--color-mark-thumb-background-hover);
}

.snapic-grid-like:hover, .snapic-grid-thumb:hover {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.snapic-like-icon {
    background-image: url('../img/icon/like.svg');
}

.snapic-thumb-icon {
    background-image: url('../img/icon/image.svg');
}

.snapic-like-icon, .snapic-thumb-icon {
    display: block;
    width: 2em;
    height: 2em;
    background-size: 1.5em;
    background-position: center;
    background-repeat: no-repeat;
    filter: invert(100%) grayscale(100%);
}

.snapic-like-loading {
    display: block;
    width: 1em;
    height: 1em;
    margin-left: 0.25em;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1em;
    background-image: url('../img/load_loop.gif');
}

.snapic-like-cnt, .snapic-thumb-cnt {
    margin-left: 0.25em;
    min-width: 1em;
    min-height: 1em;
    font-size: var(--font-size-m);
    color: var(--color-mark-text);
    text-align: center;
}

.snapic-grid-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 50%;
    left: 50%;
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: calc(100% - 1em);
    font-size: var(--font-size-xxxl);
    color: var(--color-progress-text);
    -webkit-transform: translate(-50%, 50%);
    -moz-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    -o-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
    z-index: 2;
}

.snapic-grid-num {
    font-size: 300%;
    font-weight: bold;
}

.snapic-grid-den {
    margin-bottom: -5em;
    margin-left: 0.5em;
    font-size: 38.5%;
    font-weight: normal;
}

.snapic-grid-done {
    padding: 0.5em 1em;
    font-size: 62.5%;
    font-weight: normal;
    white-space: nowrap;
    border-radius: 3em;
    background-color: var(--color-progress-background);
    -webkit-animation: doneFadeInOut 5s ease-out;
    -moz-animation: doneFadeInOut 5s ease-out;
    -ms-animation: doneFadeInOut 5s ease-out;
    -o-animation: doneFadeInOut 5s ease-out;
    animation: doneFadeInOut 5s ease-out;
    overflow: hidden;
    opacity: 0;
}

@-webkit-keyframes doneFadeInOut {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-moz-keyframes doneFadeInOut {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-ms-keyframes doneFadeInOut {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-o-keyframes doneFadeInOut {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes doneFadeInOut {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.snapic-grid-description h1, .snapic-grid-description h2, .snapic-grid-description p, .snapic-grid-poster, .snapic-grid-poster p {
    margin: 1em 0;
}



.snapic-grid-meta {
    display: flex;
    justify-content: center;
    align-items: center;
}

.snapic-grid-time {
    color: var(--color-black);
    text-align: center;
}

.snapic-grid-comments {
    flex-shrink: 0;
    color: var(--color-meta-text);
    margin-left: auto !important;
    
}

.snapic-grid-comments a {
    margin-left: 1em;
    color: var(--color-comments-text);
}

.snapic-grid-comments a:hover {
    color: var(--color-comments-text-hover) !important;
}

.grid__item:hover .snapic-grid-time, .grid__item:hover .snapic-grid-comments, .grid__item:hover .snapic-grid-comments a {
    color: var(--color-meta-hover);
}

.snapic-grid-by {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: -0.25em;
    flex-shrink: 0;
    font-size: 12px;
    color: var(--color-author-text) !important;
    border-radius: 50%;
    background-color: var(--color-author-background);
}

.grid__item:hover .snapic-grid-by {
    background-color: var(--color-author-background-hover);
}

.snapic-grid-avatar {
    flex-shrink: 0;
    -webkit-transition: all .15s ease-in-out;
    -moz-transition: all .15s ease-in-out;
    -ms-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
    transition: all .15s ease-in-out;
    opacity: .7;
}

.grid__item:hover .snapic-grid-avatar, .snapic-grid-by:hover .snapic-grid-avatar {
    -webkit-transition: all .15s ease-in-out;
    -moz-transition: all .15s ease-in-out;
    -ms-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
    transition: all .15s ease-in-out;
    opacity: 1;
}

.snapic-grid-avatar img {
    border-radius: 50% !important
}

.snapic-grid-icon {
    position: absolute;
    top: -24px;
    left: 50%;
    margin: 0;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: 0;
}

.snapic-grid-icon a.snapic-grid-by {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    width: 48px;
    height: 48px;
    font-size: 12px;
    color: var(--color-author-text-hover) !important;
    border-radius: 50%;
    background-color: var(--color-author-background);
}

.snapic-grid-icon span.snapic-grid-avatar {
    width: 48px;
    height: 48px;
}

.snapic-grid-icon span.snapic-grid-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50% !important
}

.grid__item:hover .snapic-grid-icon {
    top: calc(1.35em + 24px);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: .7;
}

.snapic-grid-icon:hover {
    opacity: 1 !important;
}

.snapic-grid-title {
    display: flex;
    justify-content: center;
    align-items: center;
}

.snapic-grid-title a {
    font-weight: normal;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

/*.snapic-grid-title:hover, .snapic-grid-title a:hover {*/
/*    color: var(--color-content-text-a-hover) !important;*/
/*}*/

.snapic-grid-title, .snapic-grid-title a, .snapic-grid-excerpt, .snapic-grid-about, .snapic-grid-keyword, .snapic-grid-poster {
    color: var(--color-black);
    text-align: justify;
    word-break: break-all;
    word-wrap: break-word;
    font-size: 1.6em;
}


.grid__item:hover .snapic-grid-title, .grid__item:hover .snapic-grid-title a, .grid__item:hover .snapic-grid-excerpt, .grid__item:hover .snapic-grid-about, .grid__item:hover .snapic-grid-keyword, .grid__item:hover .snapic-grid-poster {
    color: var(--color-content-text-hover);
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.snapic-grid-excerpt a, .snapic-grid-about-more a, .snapic-grid-poster a, .error a {
    color: var(--color-content-text-a);
 /*   position: absolute;*/
	/*top: 1.5em;*/
	/*left: calc(50% + 3.5em);*/
	/*padding: 7px;*/
	/*font-size: 50%;*/
	/*color: var(--color-text-white);*/
	/*line-height: 1;*/
	/*border-radius: 3em;*/
	/*background-color: var(--color-btn-4);*/
    
}

.snapic-grid-excerpt a:hover, .snapic-grid-about-more a:hover, .snapic-grid-poster a:hover, .error a:hover {
    padding-bottom: 0.1em;
    color: var(--color-content-text-hover);
    border-bottom: 0.1em dashed var(--color-content-text-a-decoration);
}

.snapic-grid-about-more {
    text-align: center;
}

.snapic-grid-about, .snapic-grid-keyword {
    position: relative;
    display: flex;
    align-items: center;
    margin: 1em 0;
    padding: 0 1em;
    width: calc(100% - 2em);
    height: 100%;
    min-height: 96px;
}

.snapic-grid-about-avatar, .snapic-grid-keyword-avatar {
    width: 100%;
    height: 100%;
    min-height: 96px;
}

.snapic-grid-about-avatar img, .snapic-grid-keyword-avatar a {
    position: absolute;
    top: 50%;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    border: 0.5em solid var(--color-author-background-hover);
    background-color: var(--color-author-background-hover);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: .3;
    z-index: 1;
}

.snapic-grid-about-avatar img {
    right: calc(-48px - 0.5em);
    -webkit-transform: translate(0%, -50%);
    -moz-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    -o-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}

.snapic-grid-keyword-avatar a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-xxxl);
    color: var(--color-content-text-hover);
    left: calc(-36px - 0.5em);
    -webkit-transform: translate(0%, -50%);
    -moz-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    -o-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}

.snapic-grid-keyword-avatar a:hover {
    color: var(--color-content-text-a-hover);
}

.snapic-grid-keyword-avatar a::before, .snapic-grid-keyword-avatar a::after {
    content: '';
    display: block;
    position: absolute;
    width: 256px;
    height: 256px;
    border-radius: 50%;
    background-color: black;
}

.snapic-grid-keyword-avatar a::before {
    top: 1.5em;
    left: -1em;
    opacity: .3;
    z-index: 3;
}

.snapic-grid-keyword-avatar a::after {
    top: 1em;
    left: 3em;
    opacity: .15;
    z-index: 2;
}

.grid__item:hover .snapic-grid-about-avatar img, .grid__item:hover .snapic-grid-keyword-avatar a {
    border: 0.25em solid var(--color-author-background);
    background-color: var(--color-author-background);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: 1;
}

.snapic-grid-keyword-icon {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background-size: 96px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.grid__item:hover .snapic-grid-keyword-icon {
    opacity: .3;
}

.snapic-grid-keyword-avatar a:hover .snapic-grid-keyword-icon {
    opacity: 1;
}

.snapic-grid-about-meta, .snapic-grid-keyword-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 1em 0;
    padding: 0;
    flex-shrink: 0;
    line-height: 1.6;
    cursor: default;
}

.snapic-grid-about-meta {
    width: 100%;
}

.snapic-grid-keyword-meta {
    position: absolute;
    left: calc(56px + 0.75em);
    width: auto;
    padding-right: 0.5em;
    line-height: 1.2;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.snapic-grid-about-meta div, .snapic-grid-keyword-meta div {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.snapic-grid-keyword-meta div:first-child span:last-child {
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.snapic-grid-keyword-home {
    position: absolute !important;
    top: -1em;
    right: 0;
}

.noborder {
    border: 0 !important;
    background-color: transparent !important;
}

.home.noborder {
    background-size: 1.5em;
    opacity: .3;
}

.home.noborder:hover {
    opacity: 1;
}

.snapic-grid-about-author, .snapic-grid-about-time, .snapic-grid-about-count, .snapic-grid-about-comments, .snapic-grid-keyword-author, .snapic-grid-keyword-word, .snapic-grid-keyword-count {
    flex-shrink: 0;
    margin-right: 0.5em;
    width: 1.5em;
    height: 1.5em;
    background-size: 1.2em;
    background-position: center;
    background-repeat: no-repeat;
    filter: var(--color-svg-filter);
    opacity: .5;
}

.grid__item:hover .snapic-grid-about-author, .grid__item:hover .snapic-grid-about-time, .grid__item:hover .snapic-grid-about-count, .grid__item:hover .snapic-grid-about-comments, .grid__item:hover .snapic-grid-keyword-author, .grid__item:hover .snapic-grid-keyword-word, .grid__item:hover .snapic-grid-keyword-count {
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    opacity: 1;
}

.snapic-grid-about-author {
    background-image: url('../img/icon/author.svg');
    background-size: contain;
}

.snapic-grid-about-time {
    background-image: url('../img/icon/clock.svg');
}

.snapic-grid-about-count {
    background-image: url('../img/icon/image.svg');
}

.snapic-grid-about-comments {
    background-image: url('../img/icon/comment.svg');
    background-size: 1em;
    background-position: calc(50% + 1px) center;
}

.snapic-grid-keyword-author {
    background-image: url('../img/icon/author.svg');
    background-size: 1.5em;
}

.snapic-grid-keyword-word {
    background-image: url('../img/icon/keyword.svg');
    background-size: 1.5em;
}

.snapic-grid-keyword-count {
    background-image: url('../img/icon/edit.svg');
}

.poster {
    display: block;
    text-align: center;
}

.snapic-grid-poster {
    display: inline-block;
    text-align: left;
}

.snapic-grid-poster img {
    margin: 0.25em 0;
    width: 100%;
}

.error {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    font-size: var(--font-size-m);
    line-height: 1.4;
    color: var(--color-error-text);
}

.err-404 {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 7em;
    font-size: var(--font-size-xxxxl);
    font-weight: bold;
    background-color: transparent !important;
}

.error, .plaintext {
    margin: 0;
    padding: 1em;
    height: 100%;
    min-height: 7em;
    background-color: var(--color-error-background);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.grid__item:hover .error, .grid__item:hover .plaintext {
    background-color: var(--color-error-background-hover);
}

.plaintext {
    display: block;
    color: var(--color-content-text);
    text-align: center;
    min-height: auto;
}

.grid__item:hover .plaintext {
    color: var(--color-content-text-hover);
}

.plaintext span {
    display: inline-block;
    text-align: left;
}

.plaintext h1, .plaintext h2 {
    margin: 0.35em 0;
}

.media-play {
    display: block;
    position: absolute;
    top: 50% !important;
    left: 50% !important;
    width: 4.8em;
    height: 4.8em;
    border-radius: 50%;
    background-size: 5.2em;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('../img/icon/play.svg');
    background-color: rgb(222 222 222 / 70%);
    filter: invert(100%) grayscale(100%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.grid__link a:hover .media-play {
    background-color: rgb(122 122 122 / 70%);
}

.pushbar_overlay {
    background-color: var(--color-body-background) !important;
}

aside.snapic-tool-aside-left, aside.snapic-tool-aside-bottom, aside.snapic-grid-aside-bottom {
    margin: 0 auto;
    padding: 0;
    background-color: var(--color-aside-background);
}

aside.snapic-tool-aside-left {
    height: 100% !important;
    border-right: 1.5em solid var(--color-aside-border);
    border-image: linear-gradient(to bottom, var(--color-body-background), var(--color-aside-border), var(--color-body-background));
    border-image-slice: 1;
}

aside.snapic-tool-aside-bottom, aside.snapic-grid-aside-bottom {
    width: 100% !important;
    border-top: 1.5em solid var(--color-aside-border);
    border-image: linear-gradient(to right, var(--color-body-background), var(--color-aside-border), var(--color-body-background));
    border-image-slice: 1;
}

aside.snapic-grid-aside-bottom {
    overflow: hidden;
}

[id^="aside-"] {
    margin: 0;
    padding: 0;
    height: 85vh;
}

.snapic-iframe {
    width: 100%;
    height: 100%;
}

.snapic-oops {
    margin: 1em auto;
    padding: 0 2em;
    width: calc(100% - 4em);
    max-width: 960px;
}

.pswp__button--download-button .download {
    display: block;
    width: 3.2em;
    height: 3.2em;
    background-size: 2.25em;
    background-position: center calc(50% - 1px);
    background-repeat: no-repeat;
    background-image: url('../img/icon/download.svg');
    filter: var(--color-svg-filter);
}

.pswp img {
    border-radius: 0.5em;
}

.pswp__by {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 50px;
}

.pswp__by .snapic-grid-by {
    margin: 0;
}

.pswp__by .snapic-grid-avatar {
    opacity: 1;
}

.footer {
    display: flex;
    flex-direction: column;
    padding: 1.8em 0;
}

.footer span, .copyright a, .powered a, .miit a, .beian a {
    color: var(--color-footer-text);
}

.grid__item:hover .copyright a, .grid__item:hover .powered a {
    color: var(--color-footer-text-hover);
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.copyright a:hover, .powered a:hover, .miit a:hover, .beian a:hover {
    color: var(--color-content-text-a) !important;
}

.footer span {
    margin: 0.5em 0;
    padding: 0 1em;
    width: calc(100% - 2em);
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.footer span:first-child {
    margin-bottom: 1.5em;
}

.footer span:last-child {
    margin-top: 1em;
}

.copyright a, .powered a {
    font-size: var(--font-size-l);
}

.miit a, .beian a {
    font-size: var(--font-size-s);
}

.snapic-cc, .author-cc {
    display: none;
    position: absolute;
    color: var(--color-cc-text);
    background-color: var(--color-cc-background);
    -webkit-box-shadow: 0 0 1.5em -0.5em var(--color-cc-background-shadow);
    -moz-box-shadow: 0 0 1.5em -0.5em var(--color-cc-background-shadow);
    -ms-box-shadow: 0 0 1.5em -0.5em var(--color-cc-background-shadow);
    -o-box-shadow: 0 0 1.5em -0.5em var(--color-cc-background-shadow);
    box-shadow: 0 0 1.5em -0.5em var(--color-cc-background-shadow);
    z-index: 2147483647;
}

.snapic-cc {
    padding: 0.5em 0.7em;
    white-space: nowrap;
    border-radius: 2em;
    font-size: var(--font-size-m);
}

.author-cc {
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 1em;
    width: calc(100% - 2em + 2px);
    height: calc(100% - 2em + 2px);
    font-size: var(--font-size-l);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.snapic-exif-more, .snapic-exif-gear {
    position: absolute !important;
    bottom: 1.35em;
    padding: 0.25em 0.75em;
    font-size: var(--font-size-m);
    line-height: 1.4;
    border-radius: 1em;
    pointer-events: auto !important;
    cursor: default;
    opacity: 0;
    z-index: 1;
}

.snapic-exif-more {
    right: 1em;
    width: auto;
    max-width: 50px;
    color: var(--color-exif-more);
    background-color: var(--color-exif-more-background);
}

.snapic-exif-gear {
    left: 0;
    margin-left: 1em;
    width: auto;
    max-width: calc(100% - 3em - 50px);
    color: var(--color-exif-gear);
    word-break: break-all;
    word-wrap: break-word;
    background-color: var(--color-exif-gear-background);
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.snapic-exif-more:hover {
    background-color: var(--color-exif-more-background-hover);
}

.snapic-exif-gear:hover {
    background-color: var(--color-exif-gear-background-hover);
}

.grid__item:hover .snapic-exif-more, .grid__item:hover .snapic-exif-gear {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: 1;
}

.snapic-exif-info {
    display: none;
    position: absolute;
    bottom: -1px;
    left: -1px;
    padding-top: 3em;
    padding-bottom: 1.35em;
    height: auto;
    min-height: 1em;
    color: var(--color-exif-info);
    background-image: linear-gradient(to bottom, rgba(var(--color-linear-gradient) / 0%) 0%, rgba(var(--color-linear-gradient) / 10%) 10%, rgba(var(--color-linear-gradient) / 20%) 20%, rgba(var(--color-linear-gradient) / 30%) 30%, rgba(var(--color-linear-gradient) / 40%) 40%, rgba(var(--color-linear-gradient) / 50%) 50%, rgba(var(--color-linear-gradient) / 60%) 60%, rgba(var(--color-linear-gradient) / 70%) 70%, rgba(var(--color-linear-gradient) / 80%) 80%, rgba(var(--color-linear-gradient) / 90%) 90%, rgba(var(--color-linear-gradient) / 100%) 100% );
    z-index: 1;
}

.snapic-exif-info span {
    word-break: break-all;
    word-wrap: break-word;
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.about .snapic-exif-info {
    display: none;
}

.page-navigator {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin: 1.5em 0;
    padding: 0;
    list-style: none;
    font-size: var(--font-size-m);
}

.page-navigator a, .page-navigator span {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.25em;
    width: auto;
    color: var(--color-navigator-text);
}

.page-navigator span {
    padding: 0;
    min-width: auto;
    height: auto;
}

.grid__item:hover .page-navigator li, .grid__item:hover .page-navigator a, .grid__item:hover .page-navigator span {
    color: var(--color-navigator-text-hover);
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    opacity: 1;
}

.page-navigator a:hover {
    background-color: var(--color-navigator-btn-hover);
    color: var(--color-navigator-btn-a-hover) !important;
}

.page-navigator .prev a, .page-navigator .next a {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 2em;
    background-color: transparent;
    filter: var(--color-svg-filter);
}

.page-navigator .prev a {
    background-image: url('../img/icon/prev.svg');
    opacity: .3;
}

.page-navigator .prev:hover {
    border-radius: 0.25em;
    background-color: var(--color-navigator-prev-background-hover);
}

.page-navigator .current a, .grid__item:hover .current a {
    color: var(--color-navigator-current-text);
}

.page-navigator .next {
    border-radius: 0.25em;
    background-color: var(--color-navigator-next-background);
}

.page-navigator .next a {
    background-image: url('../img/icon/next.svg');
}

.page-navigator .next:hover {
    border-radius: 50%;
}

.snapic-tags {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    margin-bottom: 2em;
    width: 100%;
    max-width: 960px;
}

.snapic-tags-cate {
    display: flex;
    flex-wrap: wrap;
}

.snapic-tags-cate span {
    margin: 0.5em 0;
    padding: 0.5em 0;
    /*font-family: --font-family;*/
}

.snapic-tags-cate span a {
    margin: 0.5em;
    padding: 0.5em 0.75em;
    /* border-radius: -1em; */
    /*font-size: 0.4em;*/
    color: #969696;
    background-color: #f3f3f3;
    border-radius: 1em;
}

.snapic-tags-cate span a:hover {
    color: var(--color-tags-text-hover);
    background-color: var(--color-tags-background-hover);
}

.snapic-tags-digg {
    color: var(--color-orange) !important;
}

.snapic-tags-prefix a {
    color: var(--color-tags-prefix-text) !important;
    background-color: var(--color-tags-prefix-background) !important;
    cursor: default;
}

.snapic-tags-prefix a:hover {
    background-color: var(--color-tags-prefix-background-hover) !important;
}

.snapic-tool {
    display: none;
    flex-direction: column;
    align-items: center;
    position: fixed;
    right: 1.5em;
    bottom: 7em;
    width: calc(3em + 0.25em * 2);
    min-height: calc(3em + 0.25em * 2 + 1em);
    z-index: 99;
}

html.pushbar_locked .snapic-tool {
    right: calc(1.5em + 7px) !important;
}

.toolHide {
    -webkit-transform: translate(350%, 0%) !important;
    -moz-transform: translate(350%, 0%) !important;
    -ms-transform: translate(350%, 0%) !important;
    -o-transform: translate(350%, 0%) !important;
    transform: translate(350%, 0%) !important;
    -webkit-transition: transform .5s ease-out;
    -moz-transition: transform .5s ease-out;
    -ms-transition: transform .5s ease-out;
    -o-transition: transform .5s ease-out;
    transition: transform .5s ease-out;
}

.toolShow {
    -webkit-transform: translate(0%, 0%);
    -moz-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
    -o-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
    -webkit-transition: transform .5s ease-out;
    -moz-transition: transform .5s ease-out;
    -ms-transition: transform .5s ease-out;
    -o-transition: transform .5s ease-out;
    transition: transform .5s ease-out;
}

.music, .snapic-search, .snapic-menu, .title-index-menu, .snapic-point, .snapic-chat, .snapic-home, .snapic-gotop {
    margin-top: 1em;
}

.music a, .snapic-search a, #search-form button, .snapic-menu a, .title-index-menu a, .snapic-point a, .snapic-chat a, .snapic-home a, .snapic-gotop a {
    display: block;
    padding: 0;
    width: 3em;
    height: 3em;
    /*border: 0.25em solid var(--color-icon-border);*/
    border-radius: 50%;
    background-color: var(--color-icon-background);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: .3;
}

#music-play, #music-pause, .search, #search-form button, .point, .chat, .home, .gotop {
    display: block;
    width: 3em;
    height: 3em;
    background-size: 2em;
    background-position: center;
    background-repeat: no-repeat;
    filter: var(--color-svg-filter);
}

#music-play {
    background-image: url('../img/icon/music.svg');
    background-position: calc(50% - 1px) center;
}

#music-pause {
    background-image: url('../img/icon/pause.svg');
    background-position: center;
}

.search, #search-form button {
    background-image: url('../img/icon/search.svg');
}

/*.menu {*/
/*    background-image: url('../img/icon/menu.svg');*/
/*}*/

.point {
    background-image: url('../img/icon/point.svg');
}

.chat {
    background-image: url('../img/icon/comment.svg');
    background-size: 1.5em;
}

.home {
    background-image: url('../img/icon/home.svg');
}

.gotop {
    background-image: url('../img/icon/top.svg');
}

.music a:hover, .snapic-search a:hover, #search-form button:hover, .snapic-menu a:hover, .title-index-menu a:hover, .snapic-point a:hover, .snapic-chat a:hover, .snapic-home a:hover, .snapic-gotop a:hover {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    opacity: 1;
}

#music {
    display: none;
    width: 0;
    height: 0;
}

#music::-webkit-media-controls {
    display: none !important;
}

#music-play {
    background-size: 1.5em;
    cursor: pointer;
}

#music-pause {
    background-size: 2em;
    cursor: pointer;
}

#music-err {
    display: none;
    position: absolute;
    top: -3em;
    right: 4em;
    margin: 0;
    padding: 1em 1.25em;
    width: auto;
    max-width: 7em;
    font-size: var(--font-size-l);
    color: var(--color-white);
    white-space: nowrap;
    text-align: center;
    border-radius: 3em;
    background-color: var(--color-black);
    overflow: hidden;
}

.musical {
    position: absolute;
    top: calc(50% - 5em);
    left: calc(50% - 2em);
    opacity: 0;
    -webkit-animation: mAnime 3s linear infinite;
    -moz-animation: mAnime 3s linear infinite;
    -o-animation: mAnime 3s linear infinite;
    -ms-animation: mAnime 3s linear infinite;
    animation: mAnime 3s linear infinite;
}

.toolHide .musical {
    top: calc(50% - 5em);
    left: calc(-350% + 2em);
}

.musical.a, .musical.b, .musical.c {
    width: 3em;
    height: 3em;
    background-size: 3em;
    background-position: center;
    background-repeat: no-repeat;
}

.musical.a {
    background-image: url('../img/icon/music-a.svg');
}

.musical.b {
    background-image: url('../img/icon/music-b.svg');
}

@-webkit-keyframes mAnime {
    0% {
        -webkit-transform: translateY(0) translateX(0) scale(1);
        opacity: 1;
    }

    50% {
        -webkit-transform: translateY(-300px) translateX(calc(50px - 200px * var(--random))) scale(0.5);
        opacity: 0.5;
    }

    100% {
        -webkit-transform: translateY(-600px) translateX(calc(100px - 400px * var(--random))) scale(0);
        opacity: 0;
    }
}

@-moz-keyframes mAnime {
    0% {
        -moz-transform: translateY(0) translateX(0) scale(1);
        opacity: 1;
    }

    50% {
        -moz-transform: translateY(-300px) translateX(calc(50px - 200px * var(--random))) scale(0.5);
        opacity: 0.5;
    }

    100% {
        -moz-transform: translateY(-600px) translateX(calc(100px - 400px * var(--random))) scale(0);
        opacity: 0;
    }
}

@-ms-keyframes mAnime {
    0% {
        -ms-transform: translateY(0) translateX(0) scale(1);
        opacity: 1;
    }

    50% {
        -ms-transform: translateY(-300px) translateX(calc(50px - 200px * var(--random))) scale(0.5);
        opacity: 0.5;
    }

    100% {
        -ms-transform: translateY(-600px) translateX(calc(100px - 400px * var(--random))) scale(0);
        opacity: 0;
    }
}

@-o-keyframes mAnime {
    0% {
        -o-transform: translateY(0) translateX(0) scale(1);
        opacity: 1;
    }

    50% {
        -o-transform: translateY(-300px) translateX(calc(50px - 200px * var(--random))) scale(0.5);
        opacity: 0.5;
    }

    100% {
        -o-transform: translateY(-600px) translateX(calc(100px - 400px * var(--random))) scale(0);
        opacity: 0;
    }
}

@keyframes mAnime {
    0% {
        transform: translateY(0) translateX(0) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateY(-300px) translateX(calc(50px - 200px * var(--random))) scale(0.5);
        opacity: 0.5;
    }

    100% {
        transform: translateY(-600px) translateX(calc(100px - 400px * var(--random))) scale(0);
        opacity: 0;
    }
}

#search-aside {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    padding: 0 2em;
    height: auto;
}

#search-form {
    /*display: flex;*/
    /*align-items: center;*/
    /*justify-content: center;*/
    /*margin: 0 auto;*/
    /*width: 100%;*/
    /*height: auto;*/
    /*min-height: 250px;*/
    /*max-width: 50em;*/
    display: flex;
    justify-content: space-evenly;
    align-items: center;
	width: 100%;
	height: 50px;
}

#search-form input {
    /*margin-right: 0.5em;*/
    padding: 0.5em;
    width: calc(100% - 5.5em);
    /*width: 70%;*/
    font-family: sans-serif;
    font-size: var(--font-size-xl);
    line-height: 1.4;
    color: var(--color-search-input);
    text-align: center;
    outline: none;
    border: none;
    border-radius: 2em;
    background-color: var(--color-search-input-background);
}

#search-form input:focus {
    color: var(--color-search-input-focus);
    background-color: var(--color-search-input-background-focus);
}

#search-form button {
    border: 0;
    /*background-color: transparent;*/
    cursor: pointer;
    
}

.menu-aside {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    margin: 3em auto;
    padding: 0 2em;
}

.menu-aside a {
    color: #111111;
}

.menu-aside hr {
    margin: 1.5em auto;
    width: calc(100% - 3em);
}

.menu-aside .current {
    border: 0.5em dashed var(--color-menu-current-border);
    border-radius: 2em;
}

.snapic-menu-item {
    position: relative;
    margin: 1em;
    width: calc(100% - 2em);
}

.snapic-menu-image {
    width: 100%;
    height: 100%;
    border-radius: 1em;
    overflow: hidden;
}

.snapic-menu-image img {
    width: 250px;
    height: 100%;
    max-height: calc(250px / 2.35);
    object-fit: cover;
    background-size: 100%;
    background-repeat: no-repeat;
}

.snapic-menu-meta {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border-radius: 1em;
    background-color: var(--color-menu-background);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.snapic-menu-meta:hover {
    background-color: var(--color-menu-background-hover);
}

.snapic-menu-thumb {
    margin-right: 1em;
    text-align: right;
    font-size: var(--font-size-m);
    opacity: .7;
}

.snapic-menu-title {
    margin: 0 0.5em;
    text-align: center;
    font-size: var(--font-size-xxxl);
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.snapic-menu-time {
    margin-left: 1em;
    text-align: left;
    font-size: var(--font-size-m);
    opacity: .7;
}

.snapic-menu-meta:hover .snapic-menu-thumb, .snapic-menu-meta:hover .snapic-menu-time {
    opacity: 1;
}

.snapic-menu-link {
    display: flex;
    flex-wrap: wrap;
}

.snapic-menu-link-icon {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
}

.snapic-menu-link, .snapic-menu-link-icon {
    margin: 0.75em 1em;
    width: calc(100% - 2em);
    max-width: 220px;
}

.snapic-menu-link a, .snapic-menu-link-icon a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background-color: var(--color-tags-background);
}

.snapic-menu-link a {
    margin: 0.25em;
    padding: 0.5em 0.75em;
    width: calc(50% - 2em);
    min-height: 2em;
    font-size: var(--font-size-m);
    color: var(--color-tags-text);
    text-align: center;
    border-radius: 2em;
}

.snapic-menu-link-icon a {
    margin: 0.5em;
    padding: 0.5em;
    width: 3em;
    height: 3em;
    border-radius: 50%;
}

.snapic-menu-link a:hover, .snapic-menu-link-icon a:hover {
    color: var(--color-tags-text-hover);
    background-color: var(--color-tags-background-hover);
}

.snapic-menu-link span {
    -webkit-line-clamp: 1;
    line-clamp: 1;
}

.snapic-menu-link-icon span {
    display: block;
    width: 3em;
    height: 3em;
    border-radius: 50%;
    background-size: 2em;
    background-position: center;
    background-repeat: no-repeat;
    filter: var(--color-svg-filter);
    opacity: .7;
}

.snapic-menu-link-icon a:hover span {
    opacity: 1;
}

.point-aside {
    display: flex;
    flex-direction: column;
    margin: 2.5em auto;
    padding: 0 2em;
    width: auto;
    height: calc(85vh - 5em);
    max-width: 960px;
}

#map {
    width: 100%;
    height: 100%;
    border-radius: 1em;
}

.point-aside .location {
    margin-top: 0.5em;
    margin-right: 0.5em;
    color: var(--color-post-text);
    font-size: var(--font-size-l);
    text-align: right;
}

.point-aside .location span {
    margin-left: 1.5em;
}

hr {
    margin: 1em auto;
    width: 100%;
    height: 0;
    border: none;
    border-top: 0.01em solid var(--color-markdowon-hr-top);
    border-bottom: 0.01em solid var(--color-markdowon-hr-bottom);
    background-color: transparent;
    clear: both;
}

blockquote {
    margin: 2em 0 1em 0;
    padding-left: 1em;
    font-size: 0.9em;
    color: var(--color-markdowon-blockquote-text);
    border-left: 0.5em solid var(--color-c);
}

table {
    display: flex;
    flex-direction: column;
    margin: 1em 0;
    padding: 0;
    border: 0.01em solid var(--color-markdowon-hr-bottom);
    background-color: var(--color-grid-background);
}

tr {
    display: flex;
}

th, td {
    flex: 1;
    padding: 1em;
    text-align: left;
    border: 0.01em solid var(--color-markdowon-hr-top);
}

table tr:hover {
    background-color: var(--color-grid-background-hover);
}

pre, p code {
    font-size: 0.9em;
    color: var(--color-markdowon-code);
    background-color: var(--color-markdowon-code-background);
}

p code {
    margin: 0 0.15em;
    padding: 0.25em 0.5em;
    border-radius: 0.15em;
}

pre {
    padding: 1em 1.5em;
    max-height: 30em;
    font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
    font-size: 0.9em;
    border-radius: 0.5em;
    overflow: auto;
}

pre code {
    padding: 0;
    color: var(--color-markdowon-pre);
}

code, kbd, samp {
    font-family: Menlo,Monaco,Consolas,"Courier
New",monospace;
    font-size: 0.9em;
}

p mark {
    margin: 0 0.15em;
    padding: 0.15em 0.25em;
    border-radius: 0.15em;
    color: var(--color-black);
    background-color: var(--color-yellow);
}

[id^="fnref-"] {
    padding-top: 3.5em;
}


/* ---------------------------------------------------------- markdown */

abbr[title] {
	text-decoration: none;
	border-bottom: 0.01em dashed;
}

mark {
	margin: 0 0.15em;
	padding: 0;
	color: var(--color-black);
	padding: 0.15em 0.25em;
	border-radius: 0.15em;
	background-color: var(--color-yellow);
}

hr {
	margin: 3em 0;
	padding: 0;
	width: 3em;
	border: 0.01em dashed var(--border-color);
	border-width: 0.01em 0 0 0;
}

code,
kbd,
samp {
	font-family: var(--font-family);
	text-indent: 0;
	text-align: justify;

	word-break: break-all;
	word-wrap: break-word; /* Internet Explorer 5.5+ */
	white-space: break-spaces; /* Firefox */
}

p code {
	margin: 0 0.15em;
	padding: 0.15em 0.25em;
	font-size: var(--size-875);
	color: var(--color-9);
	border-radius: 0.15em;
	background-color: var(--wrap-grey);
}

pre {
	margin: 1em 0;
	padding: 0.5em 1em;
	max-width: calc(960px - 1em * 2);
	max-height: 25em;
	border-left: 0.01em solid var(--border-color);
	border-width: 0 0.01em;
	/* background-color: var(--wrap-grey); */
	overflow: auto;
}

pre code {
	font-size: var(--size-875);
	color: var(--color-9);
}

blockquote {
	display: inline-block;
	position: relative;
	margin: 1em 0;
	padding: 1em;
	font-size: var(--size-875);
	font-weight: bold;
	text-align: justify;
	color: var(--color-3);
	border-radius: 0.15em 1em 1em 1.5em;
	background-color: var(--wrap-grey);
}

blockquote::before {
	display: block;
	content: '';
	position: absolute;
	top: -0.5em;
	left: -0.5em;
	width: 1.25em;
	height: 1.25em;
	background-size: 1em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url(../img/icon/quote.svg);
	opacity: .15;
}

#post ol,
#post ul {
	margin: 1em 0;
	padding: 0;
	padding-left: 1em;
}

#post ol {
	list-style: decimal;
}

#post ul {
	list-style: circle;
}

#post h1 {
	font-size: var(--size-175);
}

#post h2 {
	font-size: var(--size-150);
}

#post h3 {
	font-size: var(--size-125);
}

#post h4 {
	font-size: var(--size-100);
}

#post h5 {
	font-size: var(--size-875);
}

table {
	display: flex;
	flex-direction: column;
	margin: 1em 0;
	padding: 0;
	border-radius: 0.15em;
	border: 0.01em solid var(--border-color);
	background-color: var(--wrap-grey);
}

tr {
	display: flex;
}

th,
td {
	flex: 1 1 0%;
	padding: 1em;
	text-align: left;
	border: 0.01em solid var(--border-color);
}

table tr:hover {
	background-color: var(--wrap-grey-hover);
}

sup[id*="fnref-"] {
	margin: 0;
	padding: 5em 0.15em 0.15em;
}

sup[id*="fnref-"] a,
.footnotes li[id*="fn-"] a {
	border-bottom: 0 !important;
}

.footnotes li[id*="fn-"]::marker {
	font-style: italic;
}

.footnotes li[id*="fn-"]:first-child {
	margin-top: -5em !important;
}

.footnotes li[id*="fn-"] {
	margin-bottom: -5em;
	padding: 5em 0.5em 1em;
	font-size: var(--size-875);
	color: var(--color-9);
}

.footnotes li[id*="fn-"]:last-child {
	margin-bottom: 0 !important;
}

sup[id*="fnref-"]:target a,
.footnotes li[id*="fn-"]:target,
.footnotes li[id*="fn-"]:target a {
	color: var(--color-orange);
}

sup[id*="fnref-"]:target a:hover,
.footnotes li[id*="fn-"]:target a:hover {
	color: var(--color-3);
}

/* ------------------------------------------------------------- table */

.cd-table {
	display: flex;
	position: relative;
	margin: 2em 0;
	max-width: 960px;
	font-size: var(--size-875);
	overflow-x: hidden;
}

.cd-table-head {
	display: flex;
	flex-direction: column;
	flex: 0 0 100px;
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	top: 0;
	z-index: 1;
}

.cd-table-body {
	display: flex;
	flex: 1;
	width: 100%;
	white-space: nowrap;
	overflow-x: auto;
}

.cd-table-item {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	overflow: hidden;
}

.cd-table-head span,
.cd-table-item span {
	padding: 0.5em;
}

.cd-table-head span:first-child,
.cd-table-item span:first-child {
	font-size: var(--size-100) !important;
}

.cd-table-head span:not(span:first-child),
.cd-table-item span:not(span:first-child) {
	font-size: var(--size-875);
}

.cd-table-head span:nth-child(odd),
.cd-table-item span:nth-child(odd) {
	background-color: transparent;
}

.cd-table-head span:nth-child(even),
.cd-table-item span:nth-child(even) {
	background-color: var(--wrap-grey);
}

/* ------------------------------------------------------------- prism */

:not(pre)>code[class*=language-],
pre[class*=language-] {
    background: var(--wrap-grey) !important;
}

code[class*=language-],
pre[class*=language-] {
	font-size: var(--size-875) !important;
	color: var(--color-6) !important;
	text-shadow: none !important;
}

.language-css .token.string,
.style .token.string,
.token.entity,
.token.operator,
.token.url {
	background: transparent !important;
}

/* ----------------------------------------------------------- roadmap */

svg,
rect,
circle,
ellipse,
line,
polyline,
polygon,
path,
text,
tspan,
g,
defs,
use,
symbol,
mask,
clipPath,
linearGradient,
radialGradient {
	display: block;
}

svg[id^="svg"] {
    font-family: var(--font-family);
    width: 100%;
    height: auto;
	max-width: 960px;	
    border-radius: 0.75em;
    background-color: var(--color-white);
    cursor: default;
}

svg text {
	fill: var(--color-cyan);
	text-decoration: none;
}

svg text:hover {
	fill: var(--color-3);
}

svg image.point-icon {
    display: block;
    opacity: .3;
}

svg image.point-icon:hover {
    opacity: .7;
}

svg g text {
	fill: var(--color-9);
}

svg g text:hover {
	fill: var(--color-3);
}

/* --------------------------------------------------------- navigator */

.page-navigator {
	display: flex;
	align-items: center;
	gap: 1em;
}

.page-navigator li:not(.prev):not(.next) {
	display: none;
}

.pageNavOf {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	width: auto;
	height: 5em;
	min-width: 7em;
	border-radius: 3em;
	background-color: var(--button-darkgrey);
}

.pageNavOf:hover {
	background-color: var(--button-darkgrey-hover);
}

.page-navigator li.prev,
.page-navigator li.next {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5em;
	height: 5em;
	border-radius: 2em;
	background-color: var(--button-cyan);
}

.page-navigator li.prev:hover,
.page-navigator li.next:hover {
	background-color: var(--button-cyan-hover);
}

li.prev a,
li.next a {
	width: 100%;
	height: 100%;
	background-size: 2em;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	cursor: pointer;
}

li.prev a {
	background-image: url('../img/icon/prev.svg');
}

li.next a {
	background-image: url('../img/icon/next.svg');
}


/* ----------------------------------------------------------- related */

#related {
	display: flex;
	flex-wrap: wrap;
	gap: 2em 1.5em;
	margin: calc(5em * 2.5) 0;
}

#related .grid-item {
	position: relative;
	width: calc(33.33333% - 1em);
}

#related .grid-item a {
	display: block;
	position: relative;
	width: 100%;
	padding-bottom: calc(100% * (2 / 3));
}

#related .grid-item a.glightbox::before {
    content: '';
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    left: auto;
    width: 3em;
    height: 3em;
    background-size: 2em;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-image: url(../img/icon/expand.svg);
    transform: none;
    -webkit-filter: invert(100%) grayscale(100%);
    filter: invert(100%) grayscale(100%);
    opacity: 0;
    z-index: 2;
}

#related .grid-item a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.25em;
    background-color: var(--color-black);
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    opacity: 0;
    z-index: 1;
}

#related .grid-item a.noGlightbox::before {
	display: none;
}

#related .grid-item a.noGlightbox::after {
	opacity: .7;
}

#related .grid-item:hover a.glightbox::before {
	opacity: 1;
}

#related .grid-item:hover a::after {
	opacity: .3;
}

#related img.lazy.grid-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

#related .grid-more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% - 2em);
	color: var(--color-white);
	font-size: var(--size-100);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 2;
}

#related .grid-more .cnt {
	font-size: var(--size-500);
}

#related .grid-more .title {
	font-size: var(--size-175);
}

#related .grid-info {
	position: relative;
}

#related .grid-meta.onePage {
	position: initial;
	margin-bottom: auto;
	font-size: var(--size-125);
}

#related .grid-meta .date {
	display: flex;
	align-items: center;
	gap: 0.5em;
	color: var(--color-white);
}

#related .grid-meta .gap {
	margin-top: -0.5em;
	font-size: calc(var(--size-500) * 1.5);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

#related .grid-item:hover .gap {
	margin-top: -0.75em;
}

#related .grid-meta:not(.onePage) span:last-child {
	margin-top: -3em;
	font-size: var(--size-100);
}



@media screen and (min-width: 1920px) {
    .snapic-bgimg-info {
        max-width: calc(1920px / 2);
    }

    .snapic-bgimg-about {
        left: calc(50% - (1920px / 2) + (1920px * 0.075) / 2);
        max-width: calc(1920px * 0.925);
    }

    .snapic-tool {
        right: calc(50% - (1920px / 2) + 2em);
    }
}

@media screen and (max-width: 960px) {
    .snapic-bgimg-about-description {
        width: 75%;
    }

    .grid__item.explore a {
        max-width: 75vw;
    }
}

@media screen and (max-width: 768px) {
    #main {
        display: block;
    }

    .grid__item.explore a {
        margin: 0.25em 5px;
    }

    .content {
        max-width: 100vw;
    }

    .grid__img:hover {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }

    .grid__item.about .grid__img:hover {
        -webkit-transform: translate(-50%, -50%) scale(1);
        -moz-transform: translate(-50%, -50%) scale(1);
        -ms-transform: translate(-50%, -50%) scale(1);
        -o-transform: translate(-50%, -50%) scale(1);
        transform: translate(-50%, -50%) scale(1);
    }

    .snapic-exif-more, .snapic-exif-gear {
        bottom: 1em;
    }

    .snapic-exif-info {
        padding-bottom: 1em;
    }
}

@media screen and (max-width: 640px) {
    .slick-slide .diyloading {
        top: calc(50% - 30px);
    }

    .header {
        height: calc(100vh - 60px);
    }

    .snapic-bgimg-about {
        max-height: calc(85vh - 60px);
    }

    .snapic-bgimg-about-skill, .snapic-bgimg-about-sns {
        width: 100%;
    }

    .snapic-bgimg-about-sns {
        width: auto;
    }

    .snapic-bgimg-info {
        max-width: 75vw;
    }

    aside.snapic-tool-aside-bottom, aside.snapic-grid-aside-bottom, [id^="aside-"] {
        height: calc(85vh - 60px);
    }

    .point-aside {
        height: calc(85vh - 60px - 5em);
    }

    html.pushbar_locked .snapic-tool {
        right: 1.5em !important;
    }
}

@media screen and (max-width: 480px) {
    .grid__item.explore a {
        max-width: 50vw;
    }

    .menu-aside {
        margin: 2em auto;
        padding: 0 1em;
    }

    .snapic-menu-image img {
        width: 200px;
        max-height: calc(200px / 2.35);
    }

    hr {
        border-top: 0.05em solid var(--color-markdowon-hr-top);
        border-bottom: 0.05em solid var(--color-markdowon-hr-bottom);
    }
}

@media screen and (max-width: 360px) {
    .media-play {
        width: 3.6em;
        height: 3.6em;
        background-size: 3.6em;
    }
}


/* ------- 有声 */

#post p .plyr,
#post p .plyr--audio .plyr__controls,
#post p .plyr--audio .plyr__controls * {
	color: var(--color-cyan);
	background: transparent;
}

#post .plyr {
	max-width: 600px;
}

#post p .plyr--audio .plyr__controls button:hover {
	opacity: .7;
}

#post p .plyr--audio .plyr__controls {
	padding: 0;
}

#post p .plyr__control svg {
	fill: var(--color-cyan);
}

/* ------- 音乐 */

#post .music {
	position: -webkit-fixed;
	position: fixed;
	bottom: calc(3em + 5em + 1em);
	width: 5em;
	height: 5em;
	right: calc((50% - 5em / 2) - (1920px / 2) + (2em * 2));
	cursor: pointer;
	z-index: 9;
}

#post .music .plyr {
	min-width: auto;
}

#post .music .plyr--audio .plyr__controls {
	padding: 0;
	border-radius: 50%;
	background: var(--button-darkgrey);
}

#post .music .plyr--audio .plyr__controls:hover {
	background: var(--button-darkgrey-hover);
}

#post .music .plyr--audio .plyr__control {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	width: 5em;
	height: 5em;
}

#post .music .plyr__control svg {
	width: 1.25em;
	height: 1.25em;
	color: var(--color-black);
}

#post .music .plyr__control[aria-label="Play"] svg {
	margin-left: 0.25em;
}
