@charset "utf-8";
/* legacy stylesheet */
:root {
  --soultpl-back-color: white;
  --soultpl-fore-color: black;
  --soultpl-back-color-dim: white;
  --soultpl-back-color-dim2: white;
  --soultpl-link-color: blue;
  --soultpl-link-visited-color: purple;
  font-size: 16px;
  font-family: sans-serif;
  background: var(--soultpl-back-color);
  color: var(--soultpl-fore-color);
}

* {
  /*font-family: inherit;*/
  color: inherit;
}

html, body {
  height: 100%;
}
body {
  margin: 0;
  padding: 8px;
  box-sizing: border-box;
}

*:not(h1, h2, h3, h4, h5, h6, small, big, rt, sup, sub) {
  font-size: inherit;
}

*:disabled, .disabled {
  opacity: 0.5;
}

.day {
  background: white;
  color: black;
}

.soulbox, td, input, select, keygen, textarea, button, pre, fieldset {
  background: var(--soultpl-back-color-dim);
}
pre[class*=language-] {
  background: var(--soultpl-back-color-dim) !important;
}
th {
  background: var(--soultpl-back-color-dim2);
}
.soulbox, td, th, input, select, keygen, textarea, button, pre, fieldset, dialog {
  border: 1px solid var(--soultpl-fore-color);
}
.soulbox, td, th, input, select, keygen, textarea, button, pre, fieldset, mark, dialog {
  border-radius: 8px;
}
dialog {
  background: var(--soultpl-back-color);
}

img {
  max-width: 100%;
}
/*
*:not(meter, .day) {
  appearance: none;
  -webkit-appearance: none;
}*/

.soulbox, td, th, input, select, keygen, textarea, pre, code kbd, samp {
  box-sizing: border-box;
  padding: 4px;
}
mark {
  padding: 2px;
  margin: 2px;
}
button, input[type=button], input[type=submit], input[type=reset] {
  padding: 4px 8px;
}

a {
  text-decoration: none;
}
a:link {
  color: var(--soultpl-link-color);
}
a:visited {
  color: var(--soultpl-link-visited-color);
}
a[href="#"] {
  color: var(--soultpl-link-color);
}
a[href]:hover {
  text-decoration: underline;
}

h1, h2, h3, h4, h5, p {
  margin: 8px 0;
}
em {
  font-style: italic;
}
strong {
  font-weight: bold;
  font-variant: small-caps;
}
blockquote {
  margin: 8px 0 0 30px;
}
:not(pre)>code, :not(pre)>kbd, :not(pre)>samp {
  display: inline-block;
}

.§0 { color: #000 }
.§1 { color: #00a }
.§2 { color: #0a0 }
.§3 { color: #0aa }
.§4 { color: #a00 }
.§5 { color: #a0a }
.§6 { color: #fa0 }
.§7 { color: #aaa }
.§8 { color: #555 }
.§9 { color: #55f }
.§a { color: #5f5 }
.§b { color: #5ff }
.§c { color: #f55 }
.§d { color: #f5f }
.§e { color: #ff5 }
.§f { color: #fff }
.§l { font-weight: bold }
.§m { text-decoration: line-through }
.§n { text-decoration: underline }
.§o { font-style: italic }

* {
  -webkit-overflow-scrolling: touch;
}

/*
 * font works
 */

:root {
	--font-family-dflt:
		-apple-system, 'BlinkMacSystemFont', "Segoe UI", system-ui, 'Roboto',
		"Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
		var(--font-family-emoji);
	--font-family-hans:
		'Source Han Sans SC', 'Source Han Sans CN', 'PingFang SC',
		'Microsoft YaHei UI', 'Microsoft YaHei', '微软雅黑', 'DengXian', '等线',
		'Noto Sans SC', 'Noto Sans CJK SC', 'Droid Sans Fallback', sans-serif,
		var(--font-family-emoji);
	--font-family-hant:
		'Source Han Sans TC', 'Source Han Sans TW',
		'Noto Sans TC', 'Noto Sans CJK TC',
		'Source Han Sans HC', 'Source Han Sans HK',
		'Noto Sans HC', 'Noto Sans CJK HC',
		'PingFang TC', 'LiHei Pro',
		'Microsoft JhengHei UI', 'Microsoft JhengHei', '微軟正黑體', sans-serif;
	--font-family-dflt-monospace:
		'Sarasa Mono SC', 'Sarasa Term SC',
		'Sarasa Mono Slab SC', 'Sarasa Term Slab SC',
		'Sarasa Fixed SC', 'Sarasa Fixed Slab SC',
		'Noto Sans Mono CJK SC',
		'Roboto Mono', 'Menlo', 'Consolas', 'Liberation Mono', 'Fira Code',
		'Courier New', var(--font-family-hans), monospace;
	--font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji",
		"Segoe UI Symbol", "Noto Color Emoji";
}
:root,
[ lang$="-Hans" ],
[ lang*="-Hans-" ],
[ lang="zh-CN" ],
[ lang^="zh-CN-" ],
.lnnblog-font-hans {
	--font-family-base: var(--font-family-hans);
	--font-family-monospace: var(--font-family-dflt-monospace);
	font-synthesis: initial;
}
[ lang ],
.lnnblog-font-g {
	--font-family-base: var(--font-family-dflt);
	--font-family-monospace: var(--font-family-dflt-monospace);
	font-synthesis: initial;
	font-family: var(--font-family-base);
}
.lnnblog-font-lzh,
.lnnblog-font-hans {
	font-family: var(--font-family-base);
}
[ lang="lzh" ],
[ lang^="lzh-" ],
.lnnblog-font-lzh,
.language-wenyan,
.language-wy {
	--font-family-base: var(--font-family-hant);
	--font-family-serif: var(--font-family-hant-serif);
	--font-family-monospace:
		'Sarasa Mono CL', 'Sarasa Term CL',
		'Sarasa Mono Slab CL', 'Sarasa Term Slab CL',
		'Sarasa Fixed CL', 'Sarasa Fixed Slab CL',
		'Sarasa Mono TC', 'Sarasa Term TC',
		'Sarasa Mono Slab TC', 'Sarasa Term Slab TC',
		'Sarasa Fixed TC', 'Sarasa Fixed Slab TC',
		'Noto Sans Mono CJK TC',
		'Sarasa Mono HC', 'Sarasa Term HC',
		'Sarasa Mono Slab HC', 'Sarasa Term Slab HC',
		'Sarasa Fixed HC', 'Sarasa Fixed Slab HC',
		'Noto Sans Mono CJK HC',
		'Sarasa Mono SC', 'Sarasa Term SC',
		'Sarasa Mono Slab SC', 'Sarasa Term Slab SC',
		'Sarasa Fixed SC', 'Sarasa Fixed Slab SC',
		'Noto Sans Mono CJK SC',
		'Roboto Mono', Menlo, Consolas, 'Liberation Mono', 'Fira Code',
		'Courier New', var(--font-family-hant), monospace;
	font-synthesis: initial;
}
pre, code, samp, kbd, tt, textarea, .lnnblog-font-monospace {
	font-family: var(--font-family-monospace) !important;
	tab-size: 4;
}

.language-wenyan.language-wenyan,
.language-wy.language-wy {
    -webkit-locale: "lzh-Hant";
    tab-size: 1ic;
}

/*
 * soultpl
 */

/* heading */
.soultpl-heading-placeholder {
  height: 2rem;
}

.soultpl-heading-box {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 2rem;
  background: var(--soultpl-back-color);
  border-bottom: 1px solid var(--soultpl-fore-color);
  z-index: 999;
  padding: 0 4px;
}
@media print {
  .soultpl-heading-box {
    position: absolute;
  }
}

.soultpl-heading-text {
  margin: 0;
  line-height: 2rem;
  font-size: 1.5rem;
}

/* footer */
.soultpl-footer-box {
  margin-top: 1.25rem;
  width: 100%;
  text-align: center;
  background: var(--soultpl-back-color);
  border: 1px solid var(--soultpl-fore-color);
}

/* back to top */
.soultpl-backtotop-button {
  width: 3.125rem;
  height: 3.125rem;
  font-size: 1.875rem;
  text-align: center;
  line-height: 3.125rem;
  position: fixed;
  right: 1rem;
  bottom: 4rem;
  z-index: 998;
}

/* dropdown navigate bar */
.soultpl-combomenu {
  padding: 0;
  /* display: flow-root; */ }
.soultpl-combomenu::after {
  content: " ";
  display: block;
  clear: left;
}

.soultpl-combomenu li {
  position: relative;
  display: block;
  float: left;
  list-style-type: none;
  margin: 2px;
  white-space: nowrap;
}
.soultpl-combomenu li:hover>a { /*text-decoration: underline;*/ }

.soultpl-combomenu li a {
  display: block;
}

.soultpl-combomenu ul {
  float: left;
  padding: 0;
  margin: 0;
}

.soultpl-combomenu li li {
  float: none;
  margin: 2px 0;
}

.soultpl-combomenu li>ul {
  visibility: hidden;
  position: absolute;
  z-index: 1;
}

.soultpl-combomenu li:hover>ul {
  visibility: visible;
  left: 0;
  top: 100%;
}

.soultpl-combomenu li li:hover>ul {
  visibility: visible;
  left: 100%;
  top: 0;
}
