﻿@import url("giallo-dark.css") (prefers-color-scheme: dark);@import url("giallo-light.css") (prefers-color-scheme: light);:root{color-scheme:light dark;--space-xs: 0.25rem;--space-sm: 0.5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--topbar-h: 4rem;--gutter-h: 0px;--gutter-h-narrow: 0px;--text-color: light-dark(hsla(0, 0%, 20%, 1.0), hsla(0, 0%, 82%, 1.0));--text-color-light: light-dark(hsla(0, 0%, 40%, 1.0), hsla(0, 0%, 60%, 1.0));--bg-color: light-dark(white, hsla(0, 0%, 13%, 1.0));--sidebar-bg: light-dark(hsla(0, 0%, 100%, 0.9), hsla(0, 0%, 13%, 0.9));--border-color: light-dark(hsla(0, 0%, 70%, 1.0), hsla(0, 0%, 34%, 1.0));--code-bg: light-dark(hsla(0, 0%, 96%, 1.0), hsla(0, 0%, 19%, 1.0));--btn-bg: light-dark(hsla(0, 0%, 60%, 1.0), hsla(0, 0%, 40%, 1.0));--btn-hover: light-dark(hsla(0, 0%, 50%, 1.0), hsla(0, 0%, 50%, 1.0));--shadow-color: light-dark(rgba(0,0,0,0.1), rgba(0,0,0,0.25));--social-bg: light-dark(hsla(0, 0%, 95%, 1.0), hsla(0, 0%, 24%, 1.0));--social-border: light-dark(hsla(0, 0%, 90%, 1.0), hsla(0, 0%, 24%, 1.0));--social-hover-bg: light-dark(hsla(0, 0%, 100%, 1.0), hsla(0, 0%, 24%, 1.0));--pre-shadow: light-dark(0 0 30px -10px hsla(0, 0%, 70%, 1.0), 0 0 30px -10px rgba(0, 0, 0, 0.25));--table-header-bg: light-dark(hsla(0, 0%, 80%, 1.0), hsla(0, 0%, 24%, 1.0));--table-cell-bg: light-dark(hsla(0, 0%, 90%, 1.0), hsla(0, 0%, 20%, 1.0));--z-text: light-dark(#383a42, #abb2bf);--z-comment: light-dark(#a0a1a7, #5c6370);--z-punctuation: light-dark(#383a42, #abb2bf);--z-keyword: light-dark(#a626a4, #c678dd);--z-string: light-dark(#50a14f, #98c379);--z-type: light-dark(#c18401, #e5c07b);--z-constant: light-dark(#986801, #d19a66);--z-entity: light-dark(#4078f2, #61afef);--z-variable: light-dark(#986801, #e06c75);--z-storage: light-dark(#a626a4, #c678dd);--z-support: light-dark(#c18401, #e5c07b)}@media screen and (max-width: 900px){:root{--gutter-h: calc((100vw - 600px) / 3)}}@media screen and (max-width: 700px){:root{--gutter-h-narrow: calc((100vw - 400px) / 3)}}*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,figure,figcaption,blockquote,dl,dd{margin:0}body{min-height:100vh}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}html{scroll-behavior:smooth}::selection{background-color:light-dark(rgba(179,179,179,.3), rgba(128,128,128,.3))}:focus-visible{outline:2px solid var(--text-color-light);outline-offset:2px}a:focus:not(:focus-visible){outline:none}a{text-decoration:none;color:var(--text-color)}a:hover{color:var(--text-color-light)}em,i{font-family:"STIX Two Text","LXGW Bright",serif;font-style:italic}strong,b{font-family:"STIX Two Text",sans-serif,"Noto Sans SC","Noto Sans CN";font-weight:bold}h2,h3,p{overflow-wrap:break-word;word-break:normal}ul{margin:0 0 var(--space-md) 2rem;padding-left:0}ol{margin:var(--space-md) 0 var(--space-md) 2em;padding-left:0}blockquote{margin:var(--space-md) 0 var(--space-md) 2em}li{line-height:1.6em}dl{margin:1em;display:grid;grid-template-columns:auto auto;gap:1em}dt{font-weight:bold}code{font-family:"Fira Code",monospace;font-size:.87em}hr{margin:1em auto 1em auto;border-color:var(--border-color);border-style:solid;border-width:thin;background-color:var(--border-color)}.google-auto-placed{margin-left:auto !important;margin-right:auto !important;background-color:var(--code-bg);margin-top:1em;padding-top:1em;margin-bottom:1em;padding-bottom:1em}.body-block{margin:0 auto 0 auto;color:var(--text-color);font-family:"STIX Two Text","Source Han Serif CN VF","Noto Serif SC","Noto Serif CN",serif;background-color:var(--bg-color)}.body-block h1,.body-block h2,.body-block h3,.body-block h4{font-family:"STIX Two Text","Noto Serif SC",serif}.body-block>.content-block{width:1200px;margin-left:auto;margin-right:auto;min-height:calc(100vh - 70px - 2em)}@media screen and (max-width: 1300px){.body-block>.content-block{width:1100px}}@media screen and (max-width: 1200px){.body-block>.content-block{width:1000px}}@media screen and (max-width: 1100px){.body-block>.content-block{width:900px}}@media screen and (max-width: 1000px){.body-block>.content-block{width:800px}}@media screen and (max-width: 900px){.body-block>.content-block{width:unset;min-height:calc(100vh - 100px - 2em);padding:unset}}.body-block>.footer-container{min-height:70px}@media screen and (max-width: 900px){.body-block>.footer-container{min-height:100px}}.social-links{list-style:none;padding:0;margin:1em 0;display:flex;justify-content:center;gap:.8em}.social-links li{margin:0;text-align:center}.social-links a{display:flex;align-items:center;justify-content:center;width:2.5rem;aspect-ratio:1;border-radius:50%;background-color:var(--social-bg);color:var(--text-color-light);transition:transform .2s ease;border:1px solid var(--social-border)}.social-links a:hover{background-color:var(--social-hover-bg);color:var(--text-color);box-shadow:0 2px 5px var(--shadow-color);transform:translateY(-2px)}.social-links a i{font-size:1.2em}.animated{animation-fill-mode:both;animation-duration:1s}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.animated.hinge{animation-duration:1s}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.fadeInDown{animation-name:fadeInDown}.fadeIn{animation-name:fadeIn}.footer-container{background-color:var(--code-bg);padding:1em 3em 1em 3em;display:grid;grid-template-columns:minmax(200px, auto) minmax(200px, auto);justify-content:space-between;font-size:small;align-items:end;gap:1em}@media screen and (max-width: 900px){.footer-container{grid-template-columns:auto;justify-content:unset}}.footer-container>.social-links{display:none;text-align:center}@media screen and (max-width: 900px){.footer-container>.social-links{grid-column-start:1;grid-column-end:-1;display:unset}}@media screen and (max-width: 900px){.footer-container>.copyright{grid-row-start:unset;text-align:center;margin-left:unset}}.footer-container>.float{color:var(--text-color-light);text-align:right}@media screen and (max-width: 900px){.footer-container>.float{grid-row-start:unset;text-align:center}}.footer-container>.float>span>.link{color:var(--text-color-light);font-weight:bold}.footer-container>.float>span>.link:hover{color:var(--text-color)}.page-footer{clear:both;width:100%;margin:0;padding-top:2em;padding-bottom:2em;text-align:center;color:var(--text-color-light);font-size:small;font-family:"Ysabeau",sans-serif;font-style:italic;position:relative}.page-footer::before{content:"";position:absolute;top:1.5em;left:50%;transform:translateX(-50%);width:33.33%;height:1px;background:linear-gradient(to right, rgba(0,0,0,0), var(--border-color), rgba(0,0,0,0))}.page-footer .footer-content{display:inline-block;position:relative;padding-top:1em}.page-footer .separator{margin:0 1em}.page-footer a{color:var(--text-color-light);text-decoration:underline}.page-footer a:hover{color:var(--text-color)}@media screen and (max-width: 960px){.page-footer{padding-left:1em;padding-right:1em}}#sidebar-mask{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--shadow-color);backdrop-filter:blur(10px);z-index:3;display:none;opacity:0;transition:opacity .3s ease-in-out}#sidebar-mask.open{display:block;opacity:1}#sidebar{width:25%;background-size:cover;height:100%;top:0;left:8.333%;position:fixed;z-index:4;background-color:var(--sidebar-bg);display:flex;flex-direction:column;justify-content:center;transition:transform .3s ease-in-out;padding-right:4vw;box-sizing:border-box}#sidebar::after{content:"";position:absolute;right:2vw;top:50%;transform:translateY(-50%);height:60%;border-right:4px double var(--border-color)}@media screen and (max-width: 960px){#sidebar{width:250px;left:0;transform:translateX(-100%);border-right:1px solid var(--border-color);padding-right:0}#sidebar::after{display:none}#sidebar.open{transform:translateX(0)}}#sidebar .logo-title{text-align:center;flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:center}#sidebar .logo-title .title-inner{width:100%}#sidebar .logo-title .avatar{width:clamp(80px,15vw,120px);aspect-ratio:1;margin:0 auto var(--space-lg) auto;border-radius:50%;overflow:hidden}#sidebar .logo-title .avatar img{width:100%;height:100%;object-fit:cover}#sidebar .logo-title .description{font-size:1rem;color:var(--text-color-light);margin-top:var(--space-sm)}#sidebar .logo-title .description p{text-align:center}#sidebar .logo-title .motto{font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic;font-size:.85em;color:var(--text-color-light);opacity:.5;margin:.5em 0 0;text-align:center;min-height:1.4em}#sidebar .logo-title .title h3{text-align:center;text-transform:none;font-family:"Dancing Script",cursive;font-size:2.5rem;font-weight:800;line-height:1;margin:0}#sidebar .logo-title .title h3 a{color:var(--text-color)}#sidebar .social-links{list-style:none;padding:0;text-align:center;margin-top:2em;margin-bottom:0}#sidebar .social-links li{display:inline-block;margin:0 .8em}#sidebar .social-links li a{color:var(--text-color-light);font-size:1.2em;transition:transform .3s ease;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;aspect-ratio:1}#sidebar .social-links li a:hover{color:var(--text-color);transform:translateY(-2px)}#sidebar .sidebar-action{text-align:center;margin-top:1.5em}#sidebar .sidebar-action a{display:inline-block;position:relative;color:var(--text-color-light);font-family:"Ysabeau","LXGW Bright",sans-serif;font-size:1em;font-style:italic;text-decoration:none;padding:.6em 2em;transition:color .3s ease}#sidebar .sidebar-action a::before,#sidebar .sidebar-action a::after{content:"";position:absolute;left:50%;height:1px;background-color:var(--border-color);opacity:.3;transition:width .3s ease,opacity .3s ease,left .3s ease}#sidebar .sidebar-action a::before{top:0;width:60%;transform:translateX(-50%)}#sidebar .sidebar-action a::after{bottom:0;width:60%;transform:translateX(-50%)}#sidebar .sidebar-action a:hover{color:var(--text-color)}#sidebar .sidebar-action a:hover::before,#sidebar .sidebar-action a:hover::after{width:100%;opacity:.7}#sidebar .sidebar-nav{display:none;flex-direction:column;align-items:center;gap:.8em;margin-top:2em;padding-top:2em;position:relative}#sidebar .sidebar-nav::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:clamp(80px,20vw,120px);height:1px;background:linear-gradient(to right, rgba(0,0,0,0), var(--border-color), rgba(0,0,0,0))}@media screen and (max-width: 960px){#sidebar .sidebar-nav{display:flex}}#sidebar .sidebar-nav a{color:var(--text-color-light);font-family:"Source Han Serif CN VF",serif;font-size:1.1em;text-decoration:none;position:relative;padding-bottom:.8em}#sidebar .sidebar-nav a:hover{color:var(--text-color)}#sidebar .sidebar-nav a:not(:last-child)::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:20px;height:1px;background-color:var(--border-color);opacity:.3}#sidebar .footer{text-align:center;margin-bottom:var(--space-lg);font-size:.75rem;color:var(--text-color-light)}#sidebar .footer a{color:var(--text-color-light)}.page-top{width:100%;position:fixed;top:0;right:0;z-index:100;height:var(--topbar-h);background-color:var(--sidebar-bg);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,0);display:flex;justify-content:space-between;align-items:center;padding:0 4vw}@media screen and (max-width: 960px){.page-top{padding:0 20px}}.page-top .nav{display:flex;gap:2em;align-items:center;height:100%}@media screen and (max-width: 960px){.page-top .nav{display:none}}.page-top .nav a{color:var(--text-color-light);font-family:"Source Han Serif CN VF",serif;font-size:1.1rem;text-decoration:none;position:relative;transition:color .2s ease;padding:.5em 0;}.page-top .nav a:hover{color:var(--text-color)}.page-top .nav a:not(:last-child)::after{content:"";position:absolute;right:-1.05em;top:50%;transform:translateY(-50%) rotate(15deg);width:1px;height:.8em;background-color:var(--text-color-light);opacity:.2}.page-top .nav a.active{color:var(--text-color);font-weight:600;}.page-top .nav a.active::before{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:4px;height:4px;background-color:var(--text-color);border-radius:50%}.page-top .information{display:flex;align-items:center;gap:1.5em;height:100%}.page-top .information .back_btn,.page-top .information .theme_btn,.page-top .information .feed_btn,.page-top .information .avatar_btn{cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-color-light);transition:color .2s ease;font-size:1.1rem;width:1.4em}.page-top .information .back_btn a,.page-top .information .theme_btn a,.page-top .information .feed_btn a,.page-top .information .avatar_btn a{display:flex;align-items:center;justify-content:center}.page-top .information .back_btn:hover,.page-top .information .theme_btn:hover,.page-top .information .feed_btn:hover,.page-top .information .avatar_btn:hover{color:var(--text-color)}.page-top .information .feed_btn{position:relative;height:100%}.page-top .information .feed_btn:hover .feed-dropdown{opacity:1;transform:translateY(0);pointer-events:auto}.page-top .information .feed_btn .feed-dropdown{position:absolute;top:calc(100% - 4px);right:-8px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;padding:4px;min-width:5.5rem;box-shadow:0 4px 16px var(--shadow-color);z-index:10;opacity:0;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.page-top .information .feed_btn .feed-dropdown::before{content:"";position:absolute;top:-5px;right:12px;width:8px;height:8px;background:var(--bg-color);border-left:1px solid var(--border-color);border-top:1px solid var(--border-color);transform:rotate(45deg)}.page-top .information .feed_btn .feed-dropdown a{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:4px;font-size:.85rem;color:var(--text-color-light);white-space:nowrap;text-decoration:none}.page-top .information .feed_btn .feed-dropdown a:hover{background-color:var(--social-bg);color:var(--text-color)}.page-top .information .avatar_btn{cursor:pointer;display:none;font-size:1.2rem}@media screen and (max-width: 960px){.page-top .information .avatar_btn{display:inline-block}}.content-block{display:grid;grid-template-columns:200px auto;grid-auto-flow:row dense}@media screen and (max-width: 900px){.content-block{grid-template-columns:auto;align-content:flex-start}}.content-block>.content-aside{z-index:1}@media screen and (max-width: 900px){.content-block>.content-aside{position:sticky;top:0}}.content-block>.article-list{grid-column-start:2;grid-row-start:1}@media screen and (max-width: 900px){.content-block>.article-list{grid-column-start:unset;grid-row-start:unset}}.content-block .google-auto-placed{grid-column-start:2}@media screen and (max-width: 500px){.content-block .google-auto-placed{grid-column-start:unset}}.content-aside{padding-top:1em;padding-left:1em;padding-right:1em}@media screen and (max-width: 900px){.content-aside{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-aside{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-aside{display:grid;grid-template-columns:auto 32px;align-items:center;padding-bottom:1em;background-color:var(--sidebar-bg);backdrop-filter:blur(1px)}}@media screen and (max-width: 500px){.content-aside{padding-left:5vw;padding-right:5vw}}.content-aside>.title>.section{font-weight:normal}.content-aside>.menuanchor{display:none}@media screen and (max-width: 900px){.content-aside>.menuanchor{display:unset;text-align:center}}.content-aside>.menuanchor>a>.bi-list{width:1.5em;height:1.5em;vertical-align:middle}.content-aside>.social-links{margin-top:1em}@media screen and (max-width: 900px){.content-aside>.social-links{display:none}}@media screen and (max-width: 900px){.content-aside>#nav-block{display:none}}#nav-block>#tag-list{margin-left:1em}#tag-list{list-style-type:"# "}#tag-list>.item::marker{content:"# "}.article-list{padding-top:0;margin-top:0;display:block;margin-bottom:0;padding-bottom:0}@media screen and (max-width: 500px){.article-list{padding-left:unset;padding-right:unset}}.article-list>.ad{grid-column-start:1;grid-column-end:-1;margin-top:1em;margin-bottom:1em}@media screen and (max-width: 500px){.article-list>.ad{width:100%}}@media screen and (max-width: 500px){.article-list>.article-block{margin-left:auto;margin-right:auto}}.article-list>.title-block{grid-column-start:1;grid-column-end:-1}.article-list>.read-more{grid-column-start:1;grid-column-end:-1;width:50%;min-width:6em;margin-left:auto;margin-right:auto}.article-list>.paginator{grid-column-start:1;grid-column-end:-1;margin-top:1em;margin-bottom:1em;padding-top:1em;padding-bottom:1em}@media screen and (max-width: 500px){.article-list>.paginator{width:100%;margin-left:auto;margin-right:auto}}.article-list .google-auto-placed{grid-column-start:1;grid-column-end:-1}@media screen and (max-width: 500px){.article-list .google-auto-placed{grid-column-start:unset;grid-column-end:unset}}.meta-line{font-size:.8em;color:var(--text-color-light);margin-bottom:.2em;font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic}.meta-line .separator{margin:0 .5em;opacity:.6}.meta-line .pinned-label{color:var(--z-keyword);font-weight:bold}.meta-line .tags a{color:var(--text-color-light);text-decoration:none}.meta-line .tags a:hover{color:var(--text-color);text-decoration:underline}.article-block{border-radius:4px;padding-bottom:.5em;margin-top:0;margin-bottom:.5em;border-bottom:none;position:relative}.article-block::after{content:"";display:block;width:100%;height:1px;background:linear-gradient(to right, var(--border-color), rgba(0,0,0,0));margin:.5em 0 0 0}.article-block:last-child::after{display:none}.article-block .article-content{width:100%;margin:0}.article-block .article-header{margin-bottom:.6em}.article-block .article-header::after{display:none}.article-block .title-link{text-decoration:none;display:block}.article-block .title-link .heading{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:1.5em;color:var(--text-color);font-weight:900;margin:0;line-height:1.2;letter-spacing:-.02em;position:relative;padding-left:.7em}.article-block .title-link .heading::before{content:"";position:absolute;left:.1em;top:.45em;width:.3em;height:.3em;background-color:var(--border-color);transform:rotate(45deg);transition:transform .3s ease,background-color .3s ease}.article-block .title-link:hover .heading{color:var(--text-color-light)}.article-block .title-link:hover .heading::before{background-color:var(--text-color);transform:rotate(225deg)}.article-block .article-summary{padding-left:1em;border-left:2px solid var(--border-color);margin-bottom:.5em}.article-block .article-summary .description{margin:0;color:var(--text-color-light);font-family:"LXGW Bright",sans-serif;font-size:.95em;line-height:1.6}.article-block .meta-line{text-align:right;margin-top:.5em;font-size:.85em;opacity:.8}.pagination-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:2em;margin-bottom:2em;gap:1em}.pagination-footer .paginator{margin:0}.pagination-footer .prev-link,.pagination-footer .next-link{font-family:"Ysabeau","LXGW Bright",sans-serif;font-size:1em;color:var(--text-color);text-decoration:none;transition:transform .2s ease;display:flex;align-items:center;gap:.3em}.pagination-footer .prev-link:hover,.pagination-footer .next-link:hover{color:var(--text-color-light)}.pagination-footer .prev-link:hover{transform:translateX(-3px)}.pagination-footer .next-link:hover{transform:translateX(3px)}.paginator{display:flex;justify-content:center;align-items:center;gap:.3em}.paginator>.link{display:flex;align-items:center;justify-content:center;width:1.8em;height:1.8em;text-decoration:none;color:var(--text-color-light);font-family:"Ysabeau","LXGW Bright",sans-serif;font-size:1em;border-radius:4px;transition:all .2s ease;background-color:rgba(0,0,0,0)}.paginator>.link.-highlight{color:var(--text-color);font-weight:bold;background-color:var(--code-bg)}.paginator>.link:hover:not(.-highlight){color:var(--text-color);background-color:var(--code-bg)}.title-block{display:flex;justify-content:space-between;align-items:baseline;border-bottom:none;padding-bottom:.5em;margin-bottom:1.5em;position:relative}.title-block::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(to right, var(--border-color), rgba(0,0,0,0));display:block}.title-block .heading{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:2em;font-weight:bold;margin:0}.title-block .heading .hash{color:var(--text-color-light);font-weight:normal;margin-right:.1em;font-size:.8em;vertical-align:middle;opacity:.6}.title-block .page{font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic;font-size:1em;color:var(--text-color-light)}.article-meta{font-size:small}.content-article{padding-top:0;padding-left:0;padding-right:0}@media screen and (max-width: 900px){.content-article{padding-left:0;padding-right:0}}.content-article>.article-meta{font-size:small}@media screen and (max-width: 900px){.content-article>.article-meta{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article>.article-meta{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article>.article-meta{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article>.article-meta{width:90vw;padding-left:unset;padding-right:unset}}@media screen and (max-width: 900px){.content-article>.article-action-block{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article>.article-action-block{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article>.article-action-block{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article>.article-action-block{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content .article-meta{font-size:small;margin-bottom:2em;color:var(--text-color-light)}@media screen and (max-width: 900px){.content-article .article-content .article-meta{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content .article-meta{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content .article-meta{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content .article-meta{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content .article-meta a{text-decoration:none;color:var(--text-color-light)}.content-article .article-content .article-meta a:hover{color:var(--text-color);text-decoration:underline}.content-article .article-content a{text-decoration:underline}.content-article .article-content a>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}.article-header{margin-bottom:2em;position:relative}.article-header::after{content:"";display:block;width:100%;height:1px;background:linear-gradient(to right, var(--border-color), rgba(0,0,0,0));margin:.5em 0 0 0}.article-header .heading{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:xx-large;padding:0 0 .5em 0;margin:0}@media screen and (max-width: 900px){.article-header .heading{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.article-header .heading{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.article-header .heading{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.article-header .heading{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>.description{font-family:"LXGW Bright",serif;font-size:1.1em;color:var(--text-color);background-color:var(--social-bg);padding:1em;border-radius:6px;margin-bottom:2em;border-left:4px solid var(--border-color);line-height:1.6}@media screen and (max-width: 900px){.content-article .article-content>.description{margin-left:calc(var(--gutter-h) + 0px);margin-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>.description{margin-left:calc(var(--gutter-h-narrow) + 0px);margin-right:var(--gutter-h-narrow)}}@media screen and (max-width: 500px){.content-article .article-content>.description{width:90vw;margin-left:auto;margin-right:auto}}.content-article .article-content>h2{padding:.2em 0 .2em 0;margin-top:var(--space-xl);margin-bottom:var(--space-md);font-size:1.8em;border-bottom:1px dashed var(--border-color);display:inline-block;width:100%;position:relative}.content-article .article-content>h2::before{content:"#";color:var(--border-color);margin-right:.3em;font-weight:normal;font-size:.9em;letter-spacing:-2px}@media screen and (max-width: 900px){.content-article .article-content>h2{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>h2{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content>h2{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>h2{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>h3{padding:.2em 0 .2em 0;margin-top:var(--space-lg);margin-bottom:var(--space-sm);font-size:1.4em;position:relative;border-bottom:2px solid var(--social-bg)}.content-article .article-content>h3::before{content:"##";color:var(--border-color);margin-right:.3em;font-weight:normal;font-size:.9em;letter-spacing:-2px}@media screen and (max-width: 900px){.content-article .article-content>h3{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>h3{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content>h3{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>h3{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>h4{padding:.2em 0 .2em 0;margin-top:var(--space-md);margin-bottom:var(--space-xs);font-size:1.2em;position:relative;font-style:italic;color:var(--text-color-light)}.content-article .article-content>h4::before{content:"###";color:var(--border-color);margin-right:.3em;font-weight:normal;font-size:.9em;letter-spacing:-2px;font-style:normal;transition:color .3s ease}@media screen and (max-width: 900px){.content-article .article-content>h4{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>h4{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content>h4{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>h4{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>p{line-height:1.6em;margin-bottom:var(--space-md)}@media screen and (max-width: 900px){.content-article .article-content>p{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>p{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content>p{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>p{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>p>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}.content-article .article-content>figure{margin:var(--space-lg) 0;text-align:center}.content-article .article-content>figure>img{max-width:100%;height:auto;border-radius:6px;box-shadow:0 2px 8px light-dark(rgba(0,0,0,.08), rgba(0,0,0,.3))}.content-article .article-content>figure>figcaption{margin-top:var(--space-sm);text-align:center;font-size:.85em;font-family:"Ysabeau","LXGW Bright",sans-serif;color:var(--text-color-light);line-height:1.5}.content-article .article-content>figure>figcaption>h4{font-family:"Ysabeau","LXGW Bright",sans-serif;font-weight:normal;margin:0;font-size:1em}.content-article .article-content>figure>figcaption>a{color:var(--text-color-light);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;opacity:.8}.content-article .article-content>figure>figcaption>a:hover{color:var(--text-color);opacity:1}.content-article .article-content>blockquote{border-left:3px solid var(--border-color);padding:var(--space-sm) 0 var(--space-sm) 1em;line-height:1.6em;margin-bottom:var(--space-md);margin-left:0;position:relative}@media screen and (max-width: 900px){.content-article .article-content>blockquote{margin-left:calc(var(--gutter-h) + 0px);margin-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>blockquote{margin-left:calc(var(--gutter-h-narrow) + 0px);margin-right:var(--gutter-h-narrow)}}@media screen and (max-width: 500px){.content-article .article-content>blockquote{width:90vw;margin-left:auto;margin-right:auto}}.content-article .article-content>blockquote.markdown-alert-note,.content-article .article-content>blockquote.markdown-alert-tip,.content-article .article-content>blockquote.markdown-alert-important,.content-article .article-content>blockquote.markdown-alert-warning,.content-article .article-content>blockquote.markdown-alert-caution{background-color:var(--social-bg);border-radius:6px;border-left:none;padding:var(--space-md) var(--space-md) var(--space-md) 2.8em}.content-article .article-content>blockquote.markdown-alert-note::before,.content-article .article-content>blockquote.markdown-alert-tip::before,.content-article .article-content>blockquote.markdown-alert-important::before,.content-article .article-content>blockquote.markdown-alert-warning::before,.content-article .article-content>blockquote.markdown-alert-caution::before{display:block;font-weight:bold;font-size:.85em;line-height:1.4;color:var(--text-color-light);letter-spacing:.05em;text-transform:uppercase;width:fit-content;margin-bottom:var(--space-xs)}.content-article .article-content>blockquote.markdown-alert-note::after,.content-article .article-content>blockquote.markdown-alert-tip::after,.content-article .article-content>blockquote.markdown-alert-important::after,.content-article .article-content>blockquote.markdown-alert-warning::after,.content-article .article-content>blockquote.markdown-alert-caution::after{content:"";position:absolute;top:var(--space-md);left:1em;width:1.2em;height:1.2em;background-color:var(--text-color-light);mask-size:contain;mask-repeat:no-repeat;mask-position:center}.content-article .article-content>blockquote.markdown-alert-note::before{content:"Note"}.content-article .article-content>blockquote.markdown-alert-note::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'/%3E%3C/svg%3E")}.content-article .article-content>blockquote.markdown-alert-tip::before{content:"Tip"}.content-article .article-content>blockquote.markdown-alert-tip::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 01-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 00-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.025 2.5 6.015 2.5 5.25c0-3.038 2.562-5.25 5.5-5.25 3.038 0 5.5 2.212 5.5 5.25 0 .765-.701 1.775-1.328 2.259-.095.115-.184.22-.268.32-.196.23-.374.456-.542.68-.208.3-.33.565-.37.847a.75.75 0 01-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75zM5.75 12h4.5a.75.75 0 01.75.75v.75a.75.75 0 01-.75.75h-4.5a.75.75 0 01-.75-.75v-.75a.75.75 0 01.75-.75zM6 15.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v.25a.75.75 0 01-.75.75h-2.5a.75.75 0 01-.75-.75v-.25z'/%3E%3C/svg%3E")}.content-article .article-content>blockquote.markdown-alert-important::before{content:"Important"}.content-article .article-content>blockquote.markdown-alert-important::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0114.25 13H8.06l-2.573 2.573A1.457 1.457 0 013 14.543V13H1.75A1.75 1.75 0 010 11.25v-9.5zM1.75 1.5a.25.25 0 00-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h6.5a.25.25 0 00.25-.25v-9.5a.25.25 0 00-.25-.25H1.75zM8 9a1 1 0 110-2 1 1 0 010 2zm-.75-3.25a.75.75 0 011.5 0v2.5a.75.75 0 01-1.5 0v-2.5z'/%3E%3C/svg%3E")}.content-article .article-content>blockquote.markdown-alert-warning::before{content:"Warning"}.content-article .article-content>blockquote.markdown-alert-warning::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575Zm1.763.707a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368Zm.53 3.996v2.5a.75.75 0 01-1.5 0v-2.5a.75.75 0 011.5 0ZM9 11a1 1 0 11-2 0 1 1 0 012 0Z'/%3E%3C/svg%3E")}.content-article .article-content>blockquote.markdown-alert-caution::before{content:"Caution"}.content-article .article-content>blockquote.markdown-alert-caution::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.47.22A.75.75 0 015 0h6a.75.75 0 01.53.22l4.25 4.25c.141.14.22.331.22.53v6a.75.75 0 01-.22.53l-4.25 4.25A.75.75 0 0111 16H5a.75.75 0 01-.53-.22L.22 11.53A.75.75 0 010 11V5a.75.75 0 01.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 018 4Zm0 8a1 1 0 100-2 1 1 0 000 2Z'/%3E%3C/svg%3E")}@media screen and (max-width: 900px){.content-article .article-content>dl{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>dl{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content>dl{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>dl{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>dl>dd>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}@media screen and (max-width: 900px){.content-article .article-content>ul{padding-left:calc(var(--gutter-h) + 2em);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>ul{padding-left:calc(var(--gutter-h-narrow) + 2em);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content>ul{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>ul{width:90vw;padding-left:2em;padding-right:unset;margin-left:auto;margin-right:auto}}.content-article .article-content>ul>li{overflow-wrap:break-word;word-break:normal}.content-article .article-content>ul>li>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}.content-article .article-content>ul>li input[type=checkbox]{appearance:none;-webkit-appearance:none;width:1.1em;height:1.1em;vertical-align:middle;margin-right:.4em;position:relative;flex-shrink:0;cursor:default;display:inline-flex;align-items:center;justify-content:center}.content-article .article-content>ul>li input[type=checkbox]::before{font-family:"Font Awesome 6 Free";font-weight:400;font-size:1em;color:var(--text-color-light);content:""}.content-article .article-content>ul>li input[type=checkbox]:checked::before{font-weight:900;color:var(--text-color);content:""}.content-article .article-content>ul>li input[type=checkbox]:disabled{opacity:.8}.content-article .article-content>ul>li:has(input[type=checkbox]){list-style:none}@media screen and (max-width: 900px){.content-article .article-content>ol{padding-left:calc(var(--gutter-h) + 2em);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>ol{padding-left:calc(var(--gutter-h-narrow) + 2em);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content>ol{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>ol{width:90vw;padding-left:2em;padding-right:unset;margin-left:auto;margin-right:auto}}.content-article .article-content>ol>li{overflow-wrap:break-word;word-break:normal}.content-article .article-content>ol>li>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}.content-article .article-content pre{padding:0;width:100%;font-size:.87em;line-height:1.5;box-shadow:var(--pre-shadow);border-radius:6px;margin-bottom:var(--space-md);background-color:var(--code-bg);color:var(--z-text);position:relative;overflow-x:auto}.content-article .article-content pre .code-header{display:flex;justify-content:space-between;align-items:center;padding:.5em 1em;background-color:light-dark(#ededed, #383838)}.content-article .article-content pre .code-header .code-dots{display:flex;gap:6px;align-items:center}.content-article .article-content pre .code-header .code-dots span{width:10px;height:10px;border-radius:50%;display:block}.content-article .article-content pre .code-header .code-dots span:nth-child(1){background-color:#ff5f56}.content-article .article-content pre .code-header .code-dots span:nth-child(2){background-color:#ffbd2e}.content-article .article-content pre .code-header .code-dots span:nth-child(3){background-color:#27c93f}.content-article .article-content pre .code-header .code-header-right{display:flex;align-items:center;gap:.8em}.content-article .article-content pre .code-header .code-lang{font-family:"Ysabeau",sans-serif;font-size:.75em;color:var(--text-color-light);text-transform:uppercase;font-weight:600;letter-spacing:.08em}.content-article .article-content pre .code-header .code-copy-btn{background:none;border:none;cursor:pointer;color:var(--text-color-light);opacity:0;padding:.15em;font-size:.85em;transition:opacity .2s ease,color .2s ease}.content-article .article-content pre .code-header .code-copy-btn:hover{color:var(--text-color)}.content-article .article-content pre:hover .code-copy-btn{opacity:.7}.content-article .article-content pre:hover .code-copy-btn:hover{opacity:1}.content-article .article-content pre code{font-family:"Fira Code",monospace;background-color:rgba(0,0,0,0);padding:1em;border-radius:0;font-size:1em;display:block;overflow-x:auto}.content-article .article-content pre .z-text{color:var(--z-text)}.content-article .article-content pre .z-comment{color:var(--z-comment);font-style:italic}.content-article .article-content pre .z-punctuation{color:var(--z-punctuation)}.content-article .article-content pre .z-keyword{color:var(--z-keyword)}.content-article .article-content pre .z-string{color:var(--z-string)}.content-article .article-content pre .z-type{color:var(--z-type)}.content-article .article-content pre .z-constant{color:var(--z-constant)}.content-article .article-content pre .z-entity{color:var(--z-entity)}.content-article .article-content pre .z-variable{color:var(--z-variable)}.content-article .article-content pre .z-storage{color:var(--z-storage)}.content-article .article-content pre .z-support{color:var(--z-support)}@media screen and (max-width: 500px){.content-article .article-content pre{width:100%;border-radius:8px}}.content-article .article-content img{max-width:100%;height:auto;border-radius:6px;display:block;margin:0 auto}@media screen and (max-width: 500px){.content-article .article-content img{width:calc(100% + 10vw);margin-left:-5vw;border-radius:unset}}@media screen and (max-width: 900px){.content-article .article-content .footnote-definition{padding-left:calc((100vw - 600px)/3);padding-right:calc((100vw - 600px)/3);margin-left:auto;margin-right:auto}}@media screen and (max-width: 700px){.content-article .article-content .footnote-definition{padding-left:calc((100vw - 400px)/3);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 500px){.content-article .article-content .footnote-definition{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content .toc{background-color:var(--code-bg);padding:1em;border-radius:4px;margin-bottom:2em}.content-article .article-content .toc h3{margin-top:0;font-size:1.2em}.content-article .article-content .toc ul{margin-bottom:0;padding-left:1em}.content-article .article-content>iframe{width:100%;height:50vw;margin-bottom:1em;border-radius:4px}@media screen and (max-width: 900px){.content-article .article-content>iframe{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>iframe{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.content-article .article-content>iframe{height:50vw;margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>iframe{width:100vw;padding-left:unset;padding-right:unset;border-radius:unset}}.content-article .article-content>table{border-collapse:collapse;margin-bottom:var(--space-md);width:100%;font-size:.9em;border-radius:4px;margin-left:auto;margin-right:auto}@media screen and (max-width: 900px){.content-article .article-content>table{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>table{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 500px){.content-article .article-content>table{width:90vw;padding-left:unset;padding-right:unset;margin-left:auto;margin-right:auto}}.content-article .article-content>table th{text-align:left;padding:.6em 1em;font-weight:600;color:var(--text-color-light);border-bottom:2px solid var(--border-color)}.content-article .article-content>table td{padding:.5em 1em;border-bottom:1px solid light-dark(#e6e6e6, #383838)}.content-article .article-content>table tr:last-child td{border-bottom:none}.content-article .article-content>table th+th,.content-article .article-content>table td+td{border-left:1px solid light-dark(#ebebeb, #383838)}.content-article .article-content>.google-auto-placed{border-radius:4px}@media screen and (max-width: 900px){.content-article .article-content>.google-auto-placed{border-radius:unset}}.content-article .article-content>hr{border:none;height:1px;background:var(--border-color);margin:var(--space-xl) 0;width:100%}@media screen and (max-width: 900px){.content-article .article-content>hr{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.content-article .article-content>hr{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 500px){.content-article .article-content>hr{width:90vw;padding-left:unset;padding-right:unset;margin-left:auto;margin-right:auto}}.content-article .article-content .footnote-definition{margin-bottom:var(--space-sm);padding:var(--space-xs) 0 var(--space-xs) 1.5em;font-size:.9em;color:var(--text-color-light);position:relative}.content-article .article-content .footnote-definition sup{position:absolute;left:0;font-size:.8em;color:var(--text-color)}.content-article .article-content .footnotes-sep{display:none}.content-article .article-content section.footnotes{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border-color);font-size:.9em;color:var(--text-color-light)}.content-article .article-content section.footnotes hr{display:none}.content-article .article-content section.footnotes ol{padding-left:1.5em}.content-article .article-content section.footnotes li{margin-bottom:var(--space-xs)}.content-article .article-content sup{font-size:.75em;vertical-align:super;line-height:0}.article-action-block{border-top:1px solid var(--border-color);padding-top:var(--space-lg)}.article-action-block>.share-block{margin:0 auto}.share-block{display:flex;gap:.6em;margin-top:1em}.share-block a{display:flex;align-items:center;justify-content:center;width:2em;height:2em;border-radius:50%;background-color:var(--social-bg);color:var(--text-color-light);border:1px solid var(--social-border);transition:background-color .2s ease,color .2s ease,border-color .2s ease}.share-block a:hover{background-color:var(--btn-bg);color:var(--bg-color);border-color:var(--btn-bg)}.content{height:auto;float:right;width:58.333%;margin-right:8.333%;margin-top:calc(var(--topbar-h) + 3.5rem);padding-left:4vw;box-sizing:border-box;min-height:calc(100vh - var(--topbar-h) - 3.5rem - 6rem)}@media screen and (max-width: 960px){.content{width:100%;float:none;margin-right:0;padding-left:5vw;padding-right:5vw}}.article-intro-container{margin-bottom:var(--space-xl);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-lg)}.article-intro-container .intro-header{margin-bottom:var(--space-lg)}.article-intro-container .intro-header .heading{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:2.5em;font-weight:900;line-height:1.2;margin-bottom:.3em;color:var(--text-color)}.article-intro-container .intro-header .meta-line{font-family:"Ysabeau","LXGW WenKai",sans-serif;font-size:.9em;color:var(--text-color-light);font-style:italic}.article-intro-container .intro-header .meta-line .separator{margin:0 .5em;opacity:.6}.article-intro-container .intro-header .meta-line .tags a{color:var(--text-color-light);text-decoration:none}.article-intro-container .intro-header .meta-line .tags a:hover{color:var(--text-color)}.article-intro-container .intro-body{display:flex;flex-direction:column;gap:var(--space-lg);padding-left:1.5em;border-left:3px solid var(--border-color)}.article-intro-container .intro-body .intro-abstract{position:relative}.article-intro-container .intro-body .intro-abstract .abstract-title{font-family:"Fira Code",monospace;font-size:.75em;color:var(--text-color-light);letter-spacing:.1em;margin-bottom:.5em;opacity:.7;font-weight:bold}.article-intro-container .intro-body .intro-abstract .description{font-family:"LXGW Bright",sans-serif;font-size:1.05em;line-height:1.8;color:var(--text-color);margin:0;padding-left:1em}.article-intro-container .intro-body .intro-toc{width:100%;}.article-intro-container .intro-body .intro-toc summary.toc-title{font-family:"Fira Code",monospace;font-size:.75em;color:var(--text-color-light);letter-spacing:.05em;opacity:.7;font-weight:bold;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;margin-bottom:.5em}.article-intro-container .intro-body .intro-toc summary.toc-title::after{content:"+";font-size:1.4em;font-weight:normal;margin-left:1em;opacity:.8;transition:transform .2s ease}.article-intro-container .intro-body .intro-toc[open] summary.toc-title{margin-bottom:.5em}.article-intro-container .intro-body .intro-toc[open] summary.toc-title::after{content:"-"}.article-intro-container .intro-body .intro-toc[open] .toc-wrapper{animation:details-show .3s ease-in-out}.article-intro-container .intro-body .intro-toc .toc-list{list-style:none;margin:0;padding:0;padding-left:1.5em;font-size:.9em;line-height:1.5}.article-intro-container .intro-body .intro-toc .toc-list ul{list-style:none;margin:0;padding-left:1.5em;border-left:1px solid var(--border-color)}.article-intro-container .intro-body .intro-toc .toc-list li{margin:.4em 0;text-align:left}.article-intro-container .intro-body .intro-toc .toc-list a{text-decoration:none;color:var(--text-color-light);display:block;font-family:"STIX Two Text","Noto Serif SC",serif;font-weight:500}.article-intro-container .intro-body .intro-toc .toc-list a:hover{color:var(--text-color)}.article-intro-container .intro-body .intro-toc .toc-list .toc-root>a{font-weight:bold;color:var(--text-color);margin-bottom:.5em;font-size:1em}@media screen and (max-width: 960px){#main{margin-top:0}}.katex{word-break:normal;font-size:.95em}.katex-display{overflow-x:auto;overflow-y:hidden}.footnote-definition{font-size:.85em;display:flex;margin-top:.5em;align-items:baseline;scroll-margin-top:calc(var(--topbar-h) + 1rem)}.footnote-definition .footnote-definition-label{margin-right:.5em;font-weight:bold;min-width:1.5em;text-align:right;user-select:none}.footnote-definition p{margin:0}sup.footnote-reference a{text-decoration:none;margin:0 2px;padding:0 2px;border-radius:2px;scroll-margin-top:calc(var(--topbar-h) + 1rem);display:inline-block}sup.footnote-reference a:target{background-color:var(--btn-bg)}.giallo-l{display:inline-block;min-height:1lh;width:100%}.giallo-ln{display:inline-block;user-select:none;margin-right:.4em;padding:.4em;min-width:3ch;text-align:right;opacity:.8}.home-container{display:flex;flex-direction:column;align-items:center;width:100%}.home-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;padding-top:10vh;width:100%;text-align:center}.home-intro .logo-title{display:flex;flex-direction:column;align-items:center}.home-intro .logo-title .title-inner{display:flex;flex-direction:column;align-items:center;width:100%}.home-intro .logo-title .avatar{width:clamp(80px,15vw,120px);aspect-ratio:1;margin:0 auto var(--space-lg) auto;border-radius:50%;overflow:hidden;animation:fadeInDown .8s ease-out}.home-intro .logo-title .avatar img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.home-intro .logo-title .avatar:hover img{transform:scale(1.05)}.home-intro .logo-title .title{animation:fadeInDown .8s ease-out .2s backwards}.home-intro .logo-title .title h3{text-align:center;text-transform:none;font-family:"Dancing Script",cursive;font-size:2.5rem;font-weight:800;line-height:1;margin:0;color:var(--text-color)}.home-intro .logo-title .title .description{font-size:1rem;color:var(--text-color-light);margin-top:var(--space-sm);font-family:inherit}.home-intro .logo-title .title .description p{text-align:center;margin:0}.home-intro .logo-title .social-links{list-style:none;padding:0;text-align:center;margin-top:2em;margin-bottom:0;display:block;animation:fadeInDown .8s ease-out .4s backwards}.home-intro .logo-title .social-links li{display:inline-block;margin:0 .8em}.home-intro .logo-title .social-links li a{color:var(--text-color-light);font-size:1.2em;transition:transform .3s ease,box-shadow .3s ease;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;aspect-ratio:1}.home-intro .logo-title .social-links li a:hover{color:var(--text-color);transform:translateY(-2px)}.home-intro .logo-title .home-nav{display:flex;gap:2em;align-items:center;margin-top:2em;padding-top:2em;flex-wrap:wrap;justify-content:center;position:relative;animation:fadeIn 1s ease-out .6s backwards}.home-intro .logo-title .home-nav::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:clamp(80px,20vw,120px);height:1px;background:linear-gradient(to right, rgba(0,0,0,0), var(--text-color-light), rgba(0,0,0,0));opacity:.3}.home-intro .logo-title .home-nav a{color:var(--text-color-light);font-family:"Source Han Serif CN VF",serif;font-size:1.1rem;text-decoration:none;position:relative;transition:color .2s ease;padding:.5em 0;}.home-intro .logo-title .home-nav a:hover{color:var(--text-color)}.home-intro .logo-title .home-nav a:not(:last-child)::after{content:"";position:absolute;right:-1.05em;top:50%;transform:translateY(-50%) rotate(15deg);width:1px;height:.8em;background-color:var(--text-color-light);opacity:.2}.home-intro .logo-title .home-nav a.active{color:var(--text-color);font-weight:600;}.home-intro .logo-title .home-nav a.active::before{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:4px;height:4px;background-color:var(--text-color);border-radius:50%}.home-intro .motto{font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic;font-size:.9em;color:var(--text-color-light);opacity:.6;margin:.6em 0 0;text-align:center;min-height:1.4em}.home-content{width:100% !important;float:none !important;margin-right:0 !important;margin-top:0 !important;padding-left:0 !important;min-height:calc(100vh - 100px) !important;display:flex;flex-direction:column;justify-content:center}@keyframes details-show{from{opacity:0;transform:translateY(-.5em)}}.collapse-block{margin:var(--space-md) 0;border-left:2px solid var(--border-color);padding-left:1em}.collapse-block .collapse-summary{padding:var(--space-sm) 0;cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);list-style:none;color:var(--text-color);user-select:none;font-weight:700;font-size:.85em;letter-spacing:.04em;transition:color .15s ease}.collapse-block .collapse-summary::-webkit-details-marker{display:none}.collapse-block .collapse-summary:hover{color:var(--text-color-light)}.collapse-block .collapse-summary .collapse-icon{display:none}.collapse-block .collapse-summary::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"";font-size:.7em;opacity:.4;transition:transform .2s ease,opacity .2s ease;flex-shrink:0}.collapse-block[open] .collapse-summary::before{transform:rotate(90deg);opacity:.7}.collapse-block .collapse-content{padding:var(--space-sm) 0 0;animation:details-show .2s ease-out}.collapse-block .collapse-content>*:first-child{margin-top:0}.collapse-block .collapse-content>*:last-child{margin-bottom:0}.collapse-block .collapse-content pre{width:100%}.collapse-block .collapse-content>p,.collapse-block .collapse-content>dl,.collapse-block .collapse-content>table{line-height:1.6em;margin-bottom:var(--space-md)}.collapse-block .collapse-content>p:last-child,.collapse-block .collapse-content>dl:last-child,.collapse-block .collapse-content>table:last-child{margin-bottom:0}.collapse-block .collapse-content>ul,.collapse-block .collapse-content>ol{margin:0 0 var(--space-md) 2em;padding-left:0}.collapse-block .collapse-content>ul li,.collapse-block .collapse-content>ol li{line-height:1.6em}.collapse-block .collapse-content>ul:last-child,.collapse-block .collapse-content>ol:last-child{margin-bottom:0}.collapse-block .collapse-content>blockquote{border-left:3px solid var(--border-color);padding:var(--space-sm) 0 var(--space-sm) 1em;line-height:1.6em;margin-bottom:var(--space-md)}.collapse-block .collapse-content>blockquote:last-child{margin-bottom:0}.collapse-block .collapse-content>h2,.collapse-block .collapse-content>h3,.collapse-block .collapse-content>h4{font-family:"STIX Two Text","Noto Serif SC",serif}.collapse-block .collapse-content>h2{margin-top:var(--space-xl);margin-bottom:var(--space-md);font-size:1.8em}.collapse-block .collapse-content>h3{margin-top:var(--space-lg);margin-bottom:var(--space-sm);font-size:1.4em}.collapse-block .collapse-content>h4{margin-top:var(--space-md);margin-bottom:var(--space-xs);font-size:1.2em}.collapse-block .collapse-content>h2:first-child,.collapse-block .collapse-content>h3:first-child,.collapse-block .collapse-content>h4:first-child{margin-top:0}.friend-card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s;background-color:var(--bg-color)}.friend-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px var(--shadow-color)}.friend-card .friend-link{display:block;text-decoration:none;color:inherit;height:100%;padding:1em}.friend-card .friend-avatar{display:flex;justify-content:center;margin-bottom:var(--space-sm)}.friend-card .friend-avatar img{width:clamp(48px,10vw,80px);aspect-ratio:1;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.friend-card .friend-info{text-align:center}.friend-card .friend-info h3{margin:0 0 .3em;font-size:1.1em;color:var(--text-color)}.friend-card .friend-info p{margin:0;font-size:.9em;color:var(--text-color-light);line-height:1.4}.links-group{margin-bottom:4em}@media screen and (max-width: 900px){.links-group{padding-left:calc(var(--gutter-h) + 0px);padding-right:var(--gutter-h)}}@media screen and (max-width: 700px){.links-group{padding-left:calc(var(--gutter-h-narrow) + 0px);padding-right:var(--gutter-h-narrow)}}@media screen and (max-width: 900px){.links-group{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.links-group{width:90vw;padding-left:unset;padding-right:unset}}.group-title{font-size:1.5em;margin-bottom:.5em;padding-bottom:.3em;border-bottom:2px solid var(--border-color);display:inline-block;font-family:"STIX Two Text","Noto Serif SC",serif}.group-desc{margin-bottom:2em;color:var(--text-color-light);font-style:italic;font-size:.95em;line-height:1.6}.friends-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5em;margin-top:1em}.friends-list .friend-item{display:flex;align-items:center;text-decoration:none !important;padding:1.2em;border:1px solid var(--border-color);border-radius:12px;background-color:var(--bg-color);transition:transform .3s cubic-bezier(.25, .8, .25, 1),box-shadow .3s cubic-bezier(.25, .8, .25, 1);height:100%;box-sizing:border-box;position:relative;overflow:hidden}.friends-list .friend-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px var(--shadow-color);border-color:var(--text-color-light);text-decoration:none !important}.friends-list .friend-item .friend-avatar{flex-shrink:0;width:4rem;aspect-ratio:1;margin-right:1rem}.friends-list .friend-item .friend-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid var(--border-color);background-color:var(--bg-color)}.friends-list .friend-item:hover .friend-avatar img{border-color:var(--text-color)}.friends-list .friend-item .friend-info{flex-grow:1;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.friends-list .friend-item .friend-info .friend-name{font-weight:bold;font-size:1.1em;color:var(--text-color);margin-bottom:.3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:"STIX Two Text","Noto Serif SC",serif}.friends-list .friend-item .friend-info .friend-desc{font-size:.85em;color:var(--text-color-light);line-height:1.4;display:-webkit-box;line-clamp:2;box-orient:vertical;overflow:hidden}.category-cloud{display:flex;flex-wrap:wrap;gap:.8em;margin-top:2em;justify-content:flex-start;padding:0}@media screen and (max-width: 700px){.category-cloud{gap:.6em}}.category-chip{display:inline-flex;align-items:baseline;padding:.4em .8em;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:6px;text-decoration:none;color:var(--text-color);font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic;font-size:1em;box-shadow:none}.category-chip:hover{color:var(--text-color)}.category-chip .category-prefix{color:var(--text-color-light);font-weight:bold;margin-right:.2em;font-style:normal;opacity:.6;transition:opacity .3s ease}.category-chip:hover .category-prefix{opacity:1}.category-chip .category-name{font-weight:normal;border-bottom:1px solid rgba(0,0,0,0)}.category-chip:hover .category-name{border-color:var(--text-color)}.category-chip .category-count{margin-left:.3em;font-size:.9em;color:var(--text-color-light);background-color:rgba(0,0,0,0);padding:0;font-weight:bold;opacity:.8;position:relative;top:-.3em}.category-chip:hover .category-count{color:var(--text-color);opacity:1}.timeline-wrapper{position:relative;padding-left:1.5em;margin-top:2em;padding-top:2em;padding-bottom:.6em}.timeline-wrapper::before{content:"";position:absolute;top:0;bottom:0;left:10px;width:2px;background-color:var(--border-color);opacity:.6}.timeline-wrapper::after{content:"";position:absolute;top:-2px;left:5px;width:12px;height:12px;border:2px solid var(--border-color);border-radius:50%;background-color:var(--bg-color);z-index:2;box-shadow:0 0 0 4px var(--bg-color)}.timeline-end-marker{position:absolute;left:calc(-1.5em + 10px);top:1.17em;width:2px;height:.72em;background:rgba(0,0,0,0);z-index:2}.timeline-end-marker::before{content:"";position:absolute;top:0;left:-10px;width:22px;height:100vh;background-color:var(--bg-color);z-index:-1}.timeline-year-group{position:relative;margin-bottom:2.5em}.timeline-year-group:last-of-type{margin-bottom:0}.timeline-year-node{position:relative;display:flex;align-items:center;margin-bottom:1.5em}.timeline-year-node::before{content:"";position:absolute;left:calc(-1.5em + 4px);width:14px;height:14px;background-color:var(--bg-color);border:3px solid var(--text-color);border-radius:50%;z-index:1;box-shadow:0 0 0 4px var(--bg-color)}.timeline-year-node .year-label{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:1.8em;font-weight:bold;color:var(--text-color);margin-left:1em;line-height:1}.timeline-posts{display:flex;flex-direction:column;gap:1.2em}.timeline-post-item{position:relative;display:flex;align-items:baseline;padding-left:1.5em;transition:transform .2s ease}.timeline-post-item::before{content:"";position:absolute;left:calc(-1.5em + 11px);top:.6em;width:1em;height:1px;background-color:var(--border-color)}.timeline-post-item::after{content:"";position:absolute;left:calc(-1.5em + 7px);top:.45em;width:8px;height:8px;background-color:var(--border-color);border-radius:50%;z-index:1;transition:transform .2s ease;box-shadow:0 0 0 2px var(--bg-color)}.timeline-post-item:hover::after{background-color:var(--text-color);transform:scale(1.2)}.timeline-post-item:hover .post-date-node .date-text{color:var(--text-color);transform:translateX(4px)}.timeline-post-item:hover .post-link{color:var(--text-color);transform:translateX(4px)}.timeline-post-item .post-date-node{min-width:3.5em;margin-right:1em}.timeline-post-item .post-date-node .date-text{font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic;font-size:.9em;color:var(--text-color-light);display:inline-block;transition:transform .2s ease}.timeline-post-item .post-link{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:1.05em;color:var(--text-color);text-decoration:none;line-height:1.4;border-bottom:1px solid rgba(0,0,0,0);display:inline-block;transition:transform .2s ease}.timeline-post-item .post-link:hover{border-color:var(--text-color)}@media screen and (max-width: 700px){.timeline-wrapper{padding-left:1em}.timeline-post-item{flex-direction:column;gap:.2em;padding-left:1.5em}.timeline-post-item::before{width:.8em}.timeline-post-item .post-date-node{margin-bottom:.2em}}