@charset "utf-8";

:root { --gap: 24px; --content-gap: 20px; --nav-width: 1024px; --main-width: 720px; --header-height: 60px; --footer-height: 60px; --radius: 8px; --theme: rgb(255, 255, 255); --entry: rgb(255, 255, 255); --primary: rgb(30, 30, 30); --secondary: rgb(108, 108, 108); --tertiary: rgb(214, 214, 214); --content: rgb(31, 31, 31); --code-block-bg: rgb(28, 29, 33); --code-bg: rgb(245, 245, 245); --border: rgb(238, 238, 238); }

.dark { --theme: rgb(29, 30, 32); --entry: rgb(46, 46, 51); --primary: rgb(218, 218, 219); --secondary: rgb(155, 156, 157); --tertiary: rgb(65, 66, 68); --content: rgb(196, 196, 197); --code-block-bg: rgb(46, 46, 51); --code-bg: rgb(55, 56, 62); --border: rgb(51, 51, 51); }

.list { background: var(--code-bg); }

.dark.list { background: var(--theme); }

*, ::after, ::before { box-sizing: border-box; }

html { -webkit-tap-highlight-color: transparent; overflow-y: scroll; text-size-adjust: 100%; }

a, button, body, h1, h2, h3, h4, h5, h6 { color: var(--primary); }

body { font-family: -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Oxygen, Ubuntu, Cantarell, "open sans", "helvetica neue", sans-serif; font-size: 18px; line-height: 1.6; word-break: break-word; background: var(--theme); }

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section, table { display: block; }

h1, h2, h3, h4, h5, h6 { line-height: 1.2; }

h1, h2, h3, h4, h5, h6, p { margin-top: 0px; margin-bottom: 0px; }

ul { padding: 0px; }

a { text-decoration: none; }

body, figure, ul { margin: 0px; }

table { width: 100%; border-collapse: collapse; border-spacing: 0px; overflow-x: auto; word-break: keep-all; }

button, input, textarea { padding: 0px; font: inherit; background: 0px 0px; border: 0px; }

input, textarea { outline: 0px; }

button, input[type="button"], input[type="submit"] { cursor: pointer; }

input:-webkit-autofill, textarea:-webkit-autofill { box-shadow: 0 0 0 50px var(--theme)inset; }

img { display: block; max-width: 100%; }

.not-found { position: absolute; left: 0px; right: 0px; display: flex; align-items: center; justify-content: center; height: 80%; font-size: 160px; font-weight: 700; }

.archive-posts { width: 100%; font-size: 16px; }

.archive-year { margin-top: 40px; }

.archive-year:not(:last-of-type) { border-bottom: 2px solid var(--border); }

.archive-month { display: flex; align-items: flex-start; padding: 10px 0px; }

.archive-month-header { margin: 25px 0px; width: 200px; }

.archive-month:not(:last-of-type) { border-bottom: 1px solid var(--border); }

.archive-entry { position: relative; padding: 5px; margin: 10px 0px; }

.archive-entry-title { margin: 5px 0px; font-weight: 400; }

.archive-count, .archive-meta { color: var(--secondary); font-size: 14px; }

.footer, .top-link { font-size: 12px; color: var(--secondary); }

.footer { max-width: calc(var(--main-width) + var(--gap) * 2); margin: auto; padding: calc((var(--footer-height) - var(--gap))/2)var(--gap); text-align: center; line-height: 24px; }

.footer span { margin-inline: 1px; }

.footer span:last-child { white-space: nowrap; }

.footer a { color: inherit; border-bottom: 1px solid var(--secondary); }

.footer a:hover { border-bottom: 1px solid var(--primary); }

.top-link { visibility: hidden; position: fixed; bottom: 60px; right: 30px; z-index: 99; background: var(--tertiary); width: 42px; height: 42px; padding: 12px; border-radius: 64px; transition: visibility 0.5s, opacity 0.8s linear; }

.top-link, .top-link svg { filter: drop-shadow(0 0 0 var(--theme)); }

.footer a:hover, .top-link:hover { color: var(--primary); }

.top-link:focus, #theme-toggle:focus { outline: 0px; }

.nav { display: flex; flex-wrap: wrap; justify-content: space-between; max-width: calc(var(--nav-width) + var(--gap) * 2); margin-inline: auto; line-height: var(--header-height); }

.nav a { display: block; }

.logo, #menu { display: flex; margin: auto var(--gap); }

.logo { flex-wrap: inherit; }

.logo a { font-size: 24px; font-weight: 700; }

.logo a img, .logo a svg { display: inline; vertical-align: middle; pointer-events: none; transform: translate(0px, -10%); border-radius: 6px; margin-inline-end: 8px; }

button#theme-toggle { font-size: 26px; margin: auto 4px; }

body.dark #moon { vertical-align: middle; display: none; }

body:not(.dark) #sun { display: none; }

#menu { list-style: none; word-break: keep-all; overflow-x: auto; white-space: nowrap; }

#menu li + li { margin-inline-start: var(--gap); }

#menu a { font-size: 16px; }

#menu .active { font-weight: 500; border-bottom: 2px solid; }

.lang-switch li, .lang-switch ul, .logo-switches { display: inline-flex; margin: auto 4px; }

.lang-switch { display: flex; flex-wrap: inherit; }

.lang-switch a { margin: auto 3px; font-size: 16px; font-weight: 500; }

.logo-switches { flex-wrap: inherit; }

.main { position: relative; min-height: calc(100vh - var(--header-height) - var(--footer-height)); max-width: calc(var(--main-width) + var(--gap) * 2); margin: auto; padding: var(--gap); }

.page-header h1 { font-size: 40px; }

.pagination { display: flex; }

.pagination a { color: var(--theme); font-size: 13px; line-height: 36px; background: var(--primary); border-radius: calc(18px); padding: 0px 16px; }

.pagination .next { margin-inline-start: auto; }

.social-icons a { display: inline-flex; padding: 10px; }

.social-icons a svg { height: 26px; width: 26px; }

code { direction: ltr; }

div.highlight, pre { position: relative; }

.copy-code { display: none; position: absolute; top: 4px; right: 4px; color: rgba(255, 255, 255, 0.8); background: rgba(78, 78, 78, 0.8); border-radius: var(--radius); padding: 0px 5px; font-size: 14px; user-select: none; }

div.highlight:hover .copy-code, pre:hover .copy-code { display: block; }

.first-entry { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 320px; margin: var(--gap)0 calc(var(--gap) * 2); }

.first-entry .entry-header { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.first-entry .entry-header h1 { font-size: 34px; line-height: 1.3; }

.first-entry .entry-content { margin: 14px 0px; font-size: 16px; -webkit-line-clamp: 3; }

.first-entry .entry-footer { font-size: 14px; }

.home-info .entry-content { -webkit-line-clamp: unset; }

.post-entry { position: relative; margin-bottom: var(--gap); padding: var(--gap); background: var(--entry); border-radius: var(--radius); transition: transform 0.1s; border: 1px solid var(--border); }

.post-entry:active { transform: scale(0.96); }

.tag-entry .entry-cover { display: none; }

.entry-header h2 { font-size: 24px; line-height: 1.3; }

.entry-content { margin: 8px 0px; color: var(--secondary); font-size: 14px; line-height: 1.6; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.entry-footer { color: var(--secondary); font-size: 13px; }

.entry-link { position: absolute; inset: 0px; }

.entry-hint { color: var(--secondary); }

.entry-hint-parent { display: flex; justify-content: space-between; }

.entry-cover { font-size: 14px; margin-bottom: var(--gap); text-align: center; }

.entry-cover img { border-radius: var(--radius); width: 100%; height: auto; }

.entry-cover a { color: var(--secondary); box-shadow: 0 1px 0 var(--primary); }

.page-header, .post-header { margin: 24px auto var(--content-gap); }

.post-title { margin-bottom: 2px; font-size: 40px; }

.post-description { margin-top: 10px; margin-bottom: 5px; }

.post-meta, .breadcrumbs { color: var(--secondary); font-size: 14px; display: flex; flex-wrap: wrap; align-items: center; }

.post-meta .i18n_list li { display: inline-flex; list-style: none; margin: auto 3px; box-shadow: 0 1px 0 var(--secondary); }

.breadcrumbs a { font-size: 16px; }

.post-content { color: var(--content); }

.post-content h3, .post-content h4, .post-content h5, .post-content h6 { margin: 24px 0px 16px; }

.post-content h1 { margin: 40px auto 32px; font-size: 40px; }

.post-content h2 { margin: 32px auto 24px; font-size: 32px; }

.post-content h3 { font-size: 24px; }

.post-content h4 { font-size: 16px; }

.post-content h5 { font-size: 14px; }

.post-content h6 { font-size: 12px; }

.post-content a, .toc a:hover { box-shadow: 0px 1px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

.post-content a code { margin: auto 0px; border-radius: 0px; box-shadow: 0 -1px 0 var(--primary)inset; }

.post-content del { text-decoration: line-through; }

.post-content dl, .post-content ol, .post-content p, .post-content figure, .post-content ul { margin-bottom: var(--content-gap); }

.post-content ol, .post-content ul { padding-inline-start: 20px; }

.post-content li { margin-top: 5px; }

.post-content li p { margin-bottom: 0px; }

.post-content dl { display: flex; flex-wrap: wrap; margin: 0px; }

.post-content dt { width: 25%; font-weight: 700; }

.post-content dd { width: 75%; margin-inline-start: 0px; padding-inline-start: 10px; }

.post-content dd ~ dd, .post-content dt ~ dt { margin-top: 10px; }

.post-content table { margin-bottom: var(--content-gap); }

.post-content table th, .post-content table:not(.highlighttable, .highlight table, .gist .highlight) td { min-width: 80px; padding: 8px 5px; line-height: 1.5; border-bottom: 1px solid var(--border); }

.post-content table th { text-align: start; }

.post-content table:not(.highlighttable) td code:only-child { margin: auto 0px; }

.post-content .highlight table { border-radius: var(--radius); }

.post-content .highlight:not(table) { margin: 10px auto; border-radius: var(--radius); direction: ltr; background: var(--code-block-bg) !important; }

.post-content li > .highlight { margin-inline-end: 0px; }

.post-content ul pre { margin-inline-start: calc(var(--gap) * -2); }

.post-content .highlight pre { margin: 0px; }

.post-content .highlighttable { table-layout: fixed; }

.post-content .highlighttable td:first-child { width: 40px; }

.post-content .highlighttable td .linenodiv { padding-inline-end: 0px !important; }

.post-content .highlighttable td .highlight, .post-content .highlighttable td .linenodiv pre { margin-bottom: 0px; }

.post-content code { margin: auto 4px; padding: 4px 6px; font-size: 0.78em; line-height: 1.5; background: var(--code-bg); border-radius: 2px; }

.post-content pre code { display: grid; margin: auto 0px; padding: 10px; color: rgb(213, 213, 214); border-radius: var(--radius); overflow-x: auto; word-break: break-all; background: var(--code-block-bg) !important; }

.post-content blockquote { margin: 20px 0px; padding: 0px 14px; border-inline-start: 3px solid var(--primary); }

.post-content hr { margin: 30px 0px; height: 2px; background: var(--tertiary); border: 0px; }

.post-content iframe { max-width: 100%; }

.post-content img { border-radius: 4px; margin: 1rem 0px; }

.post-content img[src*="#center"] { margin: 1rem auto; }

.post-content figure.align-center { text-align: center; }

.post-content figure > figcaption { color: var(--primary); font-size: 16px; font-weight: 700; margin: 8px 0px 16px; }

.post-content figure > figcaption > p { color: var(--secondary); font-size: 14px; font-weight: 400; }

.toc { margin: 0px 2px 40px; border: 1px solid var(--border); background: var(--code-bg); border-radius: var(--radius); padding: 0.4em; }

.dark .toc { background: var(--entry); }

.toc details summary { cursor: zoom-in; margin-inline-start: 10px; user-select: none; }

.toc details[open] summary { cursor: zoom-out; }

.toc .details { display: inline; font-weight: 500; }

.toc .inner { margin: 5px 20px 0px; padding: 0px 10px; opacity: 0.9; }

.toc li ul { margin-inline-start: var(--gap); }

.toc summary:focus { outline: 0px; }

.post-footer { margin-top: 56px; }

.post-footer > * { margin-bottom: 10px; }

.post-tags { display: flex; flex-wrap: wrap; gap: 10px; }

.post-tags li { display: inline-block; }

.post-tags a, .share-buttons, .paginav { border-radius: var(--radius); background: var(--code-bg); border: 1px solid var(--border); }

.post-tags a { display: block; padding: 0px 14px; color: var(--secondary); font-size: 14px; line-height: 34px; background: var(--code-bg); }

.post-tags a:hover, .paginav a:hover { background: var(--border); }

.share-buttons { padding: 10px; display: flex; justify-content: center; overflow-x: auto; gap: 10px; }

.share-buttons li, .share-buttons a { display: inline-flex; }

.share-buttons a:not(:last-of-type) { margin-inline-end: 12px; }

h1:hover .anchor, h2:hover .anchor, h3:hover .anchor, h4:hover .anchor, h5:hover .anchor, h6:hover .anchor { display: inline-flex; color: var(--secondary); margin-inline-start: 8px; font-weight: 500; user-select: none; }

.paginav { display: flex; line-height: 30px; }

.paginav a { padding-inline: 14px; border-radius: var(--radius); }

.paginav .title { letter-spacing: 1px; text-transform: uppercase; font-size: small; color: var(--secondary); }

.paginav .prev, .paginav .next { width: 50%; }

.paginav span:hover:not(.title) { box-shadow: 0px 1px; }

.paginav .next { margin-inline-start: auto; text-align: right; }

[dir="rtl"] .paginav .next { text-align: left; }

h1 > a > svg { display: inline; }

img.in-text { display: inline; margin: auto; }

.buttons, .main .profile { display: flex; justify-content: center; }

.main .profile { align-items: center; min-height: calc(100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2)); text-align: center; }

.profile .profile_inner { display: flex; flex-direction: column; align-items: center; gap: 10px; }

.profile img { border-radius: 50%; }

.buttons { flex-wrap: wrap; max-width: 400px; }

.button { background: var(--tertiary); border-radius: var(--radius); margin: 8px; padding: 6px; transition: transform 0.1s; }

.button-inner { padding: 0px 8px; }

.button:active { transform: scale(0.96); }

#searchbox input { padding: 4px 10px; width: 100%; color: var(--primary); font-weight: 700; border: 2px solid var(--tertiary); border-radius: var(--radius); }

#searchbox input:focus { border-color: var(--secondary); }

#searchResults li { list-style: none; border-radius: var(--radius); padding: 10px; margin: 10px 0px; position: relative; font-weight: 500; }

#searchResults { margin: 10px 0px; width: 100%; }

#searchResults li:active { transition: transform 0.1s; transform: scale(0.98); }

#searchResults a { position: absolute; width: 100%; height: 100%; top: 0px; left: 0px; outline: none; }

#searchResults .focus { transform: scale(0.98); border: 2px solid var(--tertiary); }

.terms-tags li { display: inline-block; margin: 10px; font-weight: 500; }

.terms-tags a { display: block; padding: 3px 10px; background: var(--tertiary); border-radius: 6px; transition: transform 0.1s; }

.terms-tags a:active { background: var(--tertiary); transform: scale(0.96); }

.bg { color: rgb(202, 211, 245); background-color: rgb(36, 39, 58); }

.chroma { color: rgb(202, 211, 245); background-color: rgb(36, 39, 58); }

.chroma .x { }

.chroma .err { color: rgb(237, 135, 150); }

.chroma .cl { }

.chroma .lnlinks { outline: none; text-decoration: none; color: inherit; }

.chroma .lntd { vertical-align: top; padding: 0px; margin: 0px; border: 0px; }

.chroma .lntable { border-spacing: 0px; padding: 0px; margin: 0px; border: 0px; }

.chroma .hl { background-color: rgb(71, 71, 51); }

.chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0px 0.4em; color: rgb(128, 135, 162); }

.chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0px 0.4em; color: rgb(128, 135, 162); }

.chroma .line { display: flex; }

.chroma .k { color: rgb(198, 160, 246); }

.chroma .kc { color: rgb(245, 169, 127); }

.chroma .kd { color: rgb(237, 135, 150); }

.chroma .kn { color: rgb(139, 213, 202); }

.chroma .kp { color: rgb(198, 160, 246); }

.chroma .kr { color: rgb(198, 160, 246); }

.chroma .kt { color: rgb(237, 135, 150); }

.chroma .n { }

.chroma .na { color: rgb(138, 173, 244); }

.chroma .nb { color: rgb(145, 215, 227); }

.chroma .bp { color: rgb(145, 215, 227); }

.chroma .nc { color: rgb(238, 212, 159); }

.chroma .no { color: rgb(238, 212, 159); }

.chroma .nd { color: rgb(138, 173, 244); font-weight: 700; }

.chroma .ni { color: rgb(139, 213, 202); }

.chroma .ne { color: rgb(245, 169, 127); }

.chroma .nf { color: rgb(138, 173, 244); }

.chroma .fm { color: rgb(138, 173, 244); }

.chroma .nl { color: rgb(145, 215, 227); }

.chroma .nn { color: rgb(245, 169, 127); }

.chroma .nx { }

.chroma .py { color: rgb(245, 169, 127); }

.chroma .nt { color: rgb(198, 160, 246); }

.chroma .nv { color: rgb(244, 219, 214); }

.chroma .vc { color: rgb(244, 219, 214); }

.chroma .vg { color: rgb(244, 219, 214); }

.chroma .vi { color: rgb(244, 219, 214); }

.chroma .vm { color: rgb(244, 219, 214); }

.chroma .l { }

.chroma .ld { }

.chroma .s { color: rgb(166, 218, 149); }

.chroma .sa { color: rgb(237, 135, 150); }

.chroma .sb { color: rgb(166, 218, 149); }

.chroma .sc { color: rgb(166, 218, 149); }

.chroma .dl { color: rgb(138, 173, 244); }

.chroma .sd { color: rgb(110, 115, 141); }

.chroma .s2 { color: rgb(166, 218, 149); }

.chroma .se { color: rgb(138, 173, 244); }

.chroma .sh { color: rgb(110, 115, 141); }

.chroma .si { color: rgb(166, 218, 149); }

.chroma .sx { color: rgb(166, 218, 149); }

.chroma .sr { color: rgb(139, 213, 202); }

.chroma .s1 { color: rgb(166, 218, 149); }

.chroma .ss { color: rgb(166, 218, 149); }

.chroma .m { color: rgb(245, 169, 127); }

.chroma .mb { color: rgb(245, 169, 127); }

.chroma .mf { color: rgb(245, 169, 127); }

.chroma .mh { color: rgb(245, 169, 127); }

.chroma .mi { color: rgb(245, 169, 127); }

.chroma .il { color: rgb(245, 169, 127); }

.chroma .mo { color: rgb(245, 169, 127); }

.chroma .o { color: rgb(145, 215, 227); font-weight: 700; }

.chroma .ow { color: rgb(145, 215, 227); font-weight: 700; }

.chroma .p { }

.chroma .c { color: rgb(110, 115, 141); font-style: italic; }

.chroma .ch { color: rgb(110, 115, 141); font-style: italic; }

.chroma .cm { color: rgb(110, 115, 141); font-style: italic; }

.chroma .c1 { color: rgb(110, 115, 141); font-style: italic; }

.chroma .cs { color: rgb(110, 115, 141); font-style: italic; }

.chroma .cp { color: rgb(110, 115, 141); font-style: italic; }

.chroma .cpf { color: rgb(110, 115, 141); font-weight: 700; font-style: italic; }

.chroma .g { }

.chroma .gd { color: rgb(237, 135, 150); background-color: rgb(54, 58, 79); }

.chroma .ge { font-style: italic; }

.chroma .gr { color: rgb(237, 135, 150); }

.chroma .gh { color: rgb(245, 169, 127); font-weight: 700; }

.chroma .gi { color: rgb(166, 218, 149); background-color: rgb(54, 58, 79); }

.chroma .go { }

.chroma .gp { }

.chroma .gs { font-weight: 700; }

.chroma .gu { color: rgb(245, 169, 127); font-weight: 700; }

.chroma .gt { color: rgb(237, 135, 150); }

.chroma .gl { text-decoration: underline; }

.chroma .w { }

.chroma { background-color: unset !important; }

.chroma .hl { display: flex; }

.chroma .lnt { padding: 0px 0px 0px 12px; }

.highlight pre.chroma code { padding: 8px 0px; }

.highlight pre.chroma .line .cl, .chroma .ln { padding: 0px 10px; }

.chroma .lntd:last-of-type { width: 100%; }

::-webkit-scrollbar-track { background: 0px 0px; }

.list:not(.dark)::-webkit-scrollbar-track { background: var(--code-bg); }

::-webkit-scrollbar-thumb { background: var(--tertiary); border: 5px solid var(--theme); border-radius: var(--radius); }

.list:not(.dark)::-webkit-scrollbar-thumb { border: 5px solid var(--code-bg); }

::-webkit-scrollbar-thumb:hover { background: var(--secondary); }

.post-content .highlighttable td .highlight pre code::-webkit-scrollbar { display: none; }

.post-content :not(table) ::-webkit-scrollbar-thumb { border: 2px solid var(--code-block-bg); background: rgb(113, 113, 117); }

.post-content :not(table) ::-webkit-scrollbar-thumb:hover { background: rgb(163, 163, 165); }

.gist table::-webkit-scrollbar-thumb { border: 2px solid rgb(255, 255, 255); background: rgb(173, 173, 173); }

.gist table::-webkit-scrollbar-thumb:hover { background: rgb(112, 112, 112); }

.post-content table::-webkit-scrollbar-thumb { border-width: 2px; }

@media screen and (min-width: 768px) {
  ::-webkit-scrollbar { width: 19px; height: 11px; }
}

@media screen and (max-width: 768px) {
  :root { --gap: 14px; }
  .profile img { transform: scale(0.85); }
  .first-entry { min-height: 260px; }
  .archive-month { flex-direction: column; }
  .archive-year { margin-top: 20px; }
  .footer { padding: calc((var(--footer-height) - var(--gap) - 10px)/2)var(--gap); }
}

@media screen and (max-width: 900px) {
  .list .top-link { transform: translateY(-5rem); }
}

@media screen and (max-width: 340px) {
  .share-buttons { justify-content: unset; }
}

@media (prefers-reduced-motion) {
  .terms-tags a:active, .button:active, .post-entry:active, .top-link, #searchResults .focus, #searchResults li:active { transform: none; }
}

:root { --main-width: 820px; }