:root{--paper: #f6f1e7;--paper-deep: #efe7d6;--paper-card: #fbf8f1;--ink: #1d1a16;--ink-soft: #6b6355;--ink-faint: #9a9184;--vermilion: #c43a21;--vermilion-deep: #9e2f1b;--line: #d9cfbc;--line-soft: #e6ddcd;--font-serif: "Noto Serif SC", "Source Han Serif SC", "STSong", "SimSun", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", "Fira Code", "SF Mono", Menlo, Monaco, "Courier New", monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-serif);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse 80% 60% at 15% -5%,rgba(196,58,33,.05),transparent),radial-gradient(ellipse 70% 55% at 95% 8%,rgba(29,26,22,.045),transparent),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.11 0 0 0 0 0.10 0 0 0 0 0.08 0 0 0 0.035 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}::selection{background:var(--vermilion);color:var(--paper)}.mono{font-family:var(--font-mono);letter-spacing:.04em}.container{max-width:1180px;margin:0 auto;padding:0 28px}.masthead{position:sticky;top:0;z-index:50;background:#f6f1e7e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.masthead:after{content:"";display:block;height:3px;border-bottom:1px solid var(--line);margin-top:3px}.masthead-top{display:flex;justify-content:space-between;align-items:center;padding:8px 0 6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}.masthead-top .est-mark{display:flex;align-items:center;gap:10px}.masthead-top .est-mark:before{content:"";width:8px;height:8px;background:var(--vermilion);transform:rotate(45deg)}.masthead-main{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px}.masthead-title{font-size:30px;font-weight:900;letter-spacing:.12em;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none}.masthead-title .accent{color:var(--vermilion)}.masthead-sub{margin-left:14px;font-size:12px;color:var(--ink-faint);letter-spacing:.3em}.masthead-nav{display:flex;gap:34px}.masthead-nav a{position:relative;font-size:15px;letter-spacing:.35em;padding:4px 2px;color:var(--ink-soft);transition:color .25s ease}.masthead-nav a:after{content:"";position:absolute;left:50%;bottom:-2px;width:0;height:2px;background:var(--vermilion);transition:all .3s ease;transform:translate(-50%)}.masthead-nav a:hover,.masthead-nav a.active{color:var(--ink)}.masthead-nav a.active:after,.masthead-nav a:hover:after{width:100%}.masthead-navrow{display:flex;align-items:center;gap:30px;flex-wrap:wrap;row-gap:12px}.masthead-search{display:flex;align-items:center;border-bottom:1px solid var(--ink);transition:border-color .25s ease}.masthead-search:focus-within{border-color:var(--vermilion)}.masthead-search input{width:172px;border:none;outline:none;background:transparent;font-family:var(--font-serif);font-size:13px;color:var(--ink);letter-spacing:.06em;padding:5px 2px}.masthead-search input::placeholder{color:var(--ink-faint)}.masthead-search button{display:flex;align-items:center;border:none;background:none;cursor:pointer;color:var(--ink-soft);font-size:14px;padding:4px 6px;transition:color .25s ease}.masthead-search button:hover{color:var(--vermilion)}.home-container{padding-top:36px}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.featured{margin-bottom:58px}.featured-carousel{position:relative;border:1px solid var(--line);outline:4px solid var(--paper-card);box-shadow:0 0 0 1px var(--line-soft),8px 10px #1d1a160f;background:var(--paper-card);animation:rise .7s ease both}.featured-carousel .slick-list{margin:0 -9px}.featured-carousel .slick-track{display:flex}.featured-carousel .slick-slide{height:auto;padding:0 9px}.featured-carousel .slick-slide>div{height:100%}.featured-slide{position:relative;display:flex!important;flex-direction:column;height:100%;background:var(--paper-card);cursor:pointer;overflow:hidden}.featured-slide:after{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--vermilion);z-index:1}.featured-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fbf8f1f0;color:var(--ink-soft);font-size:15px;cursor:pointer;transition:all .25s ease}.featured-arrow:hover{border-color:var(--vermilion);color:var(--vermilion)}.featured-arrow.prev{left:-20px}.featured-arrow.next{right:-20px}.featured-dots{bottom:-30px!important}.featured-dots li{margin:0 4px}.featured-dots li button{width:22px!important;height:3px!important;border-radius:0!important;background:var(--ink-faint)!important;opacity:.45!important;transition:all .3s ease}.featured-dots li.slick-active button{width:34px!important;background:var(--vermilion)!important;opacity:1!important}.featured-cover{position:relative;aspect-ratio:3 / 2;overflow:hidden;border-bottom:1px solid var(--line-soft);background:var(--paper-deep)}.featured-cover img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.14) contrast(1.02);transition:transform .6s ease,filter .6s ease}.featured-slide:hover .featured-cover img{transform:scale(1.045);filter:sepia(0)}.featured-cover--ink{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 90% 130% at 85% -20%,rgba(196,58,33,.22),transparent 55%),var(--ink)}.ink-glyph{font-size:clamp(40px,4.5vw,64px);font-weight:900;color:var(--paper);opacity:.92;letter-spacing:.05em;line-height:1;text-shadow:6px 6px 0 rgba(196,58,33,.35)}.ink-seal{position:absolute;right:14px;bottom:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;color:var(--paper);border:1px solid rgba(246,241,231,.4);padding:3px 10px}.featured-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}.featured-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.22em}.featured-kicker .no{color:var(--vermilion)}.featured-kicker .no:before{content:"◆ ";font-size:9px}.featured-kicker .date{color:var(--ink-faint)}.featured-title{font-size:18px;font-weight:900;line-height:1.5;letter-spacing:.03em;transition:color .25s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.featured-slide:hover .featured-title{color:var(--vermilion-deep)}.featured-excerpt{font-size:13px;color:var(--ink-soft);line-height:1.9;text-align:justify;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.featured-foot{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.featured-cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--vermilion);border:1px solid currentColor;padding:2px 10px}.featured-enter{font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;color:var(--vermilion);opacity:0;transform:translate(-8px);transition:all .3s ease}.featured-slide:hover .featured-enter{opacity:1;transform:translate(0)}.section-head{display:flex;align-items:center;gap:16px;margin:8px 0 26px}.section-head .zh{font-size:20px;font-weight:700;letter-spacing:.3em}.section-head .rule{flex:1;border-top:1px solid var(--line);position:relative;top:2px}.section-head .meta{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);letter-spacing:.15em}.cat-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}.cat-btn{font-family:var(--font-serif);font-size:14px;letter-spacing:.2em;padding:6px 18px;background:transparent;border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;transition:all .25s ease}.cat-btn:hover{border-color:var(--ink);color:var(--ink)}.cat-btn.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.cat-btn.on:before{content:"◆ ";color:var(--vermilion);font-size:10px;vertical-align:1px}.date-chip{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;border:1px dashed var(--vermilion);color:var(--vermilion);padding:4px 12px;margin-bottom:20px}.date-chip button{border:none;background:none;color:var(--vermilion);cursor:pointer;font-size:13px;line-height:1}.home-body{display:grid;grid-template-columns:1fr 320px;gap:56px;padding-bottom:80px}.toc-card{position:relative;display:grid;grid-template-columns:56px 188px 1fr;gap:22px;padding:30px 8px;border-bottom:1px solid var(--line-soft);cursor:pointer;animation:rise .6s ease both;transition:background .3s ease}.toc-card:first-child{border-top:1px solid var(--line-soft)}.toc-card:before{content:"";position:absolute;left:-14px;top:50%;width:3px;height:0;background:var(--vermilion);transition:all .35s ease;transform:translateY(-50%)}.toc-card:hover{background:linear-gradient(90deg,rgba(196,58,33,.045),transparent 65%)}.toc-card:hover:before{height:64%}.toc-index{font-family:var(--font-mono);font-size:26px;font-weight:500;color:var(--ink-faint);line-height:1;padding-top:6px;transition:color .3s ease}.toc-cover{position:relative;aspect-ratio:3 / 2;align-self:start;overflow:hidden;border:1px solid var(--line);background:var(--paper-deep)}.toc-cover img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.14) contrast(1.02);transition:transform .5s ease,filter .5s ease}.toc-card:hover .toc-cover img{transform:scale(1.06);filter:sepia(0)}.toc-cover-glyph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:900;color:var(--paper);opacity:.92;background:radial-gradient(ellipse 110% 130% at 85% -20%,rgba(196,58,33,.25),transparent 60%),var(--ink);text-shadow:3px 3px 0 rgba(196,58,33,.35)}.toc-cover-note{position:absolute;right:6px;bottom:5px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.35em;color:var(--paper);opacity:.55;text-shadow:none}.toc-card:hover .toc-index{color:var(--vermilion)}.toc-meta{display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:10px}.toc-meta .cat{color:var(--vermilion);border:1px solid currentColor;padding:1px 8px}.toc-title{font-size:22px;font-weight:700;letter-spacing:.03em;line-height:1.5;transition:color .25s ease}.toc-card:hover .toc-title{color:var(--vermilion-deep)}.toc-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.toc-tags span{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);background:var(--paper-deep);padding:2px 10px}.toc-intro{margin-top:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;line-height:1.9;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.toc-enter{margin-top:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;color:var(--vermilion);opacity:0;transform:translate(-8px);transition:all .3s ease}.toc-card:hover .toc-enter{opacity:1;transform:translate(0)}.side-block{background:var(--paper-card);border:1px solid var(--line);padding:22px;margin-bottom:30px;position:relative}.side-block:before{content:"";position:absolute;top:6px;left:6px;right:-6px;bottom:-6px;border:1px solid var(--line-soft);z-index:-1}.side-title{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:16px}.side-title .zh{font-size:16px;font-weight:700;letter-spacing:.3em}.side-title .en{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);letter-spacing:.2em;text-transform:uppercase}.side-note{font-size:12px;color:var(--ink-faint);font-family:var(--font-mono);margin-top:12px;letter-spacing:.05em}.side-note-sub{margin-top:6px;opacity:.82}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.tag-cloud-item{display:inline-flex;align-items:center;gap:5px;border:1px solid;background:var(--paper-card);border-radius:2px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;padding:3px 9px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.tag-cloud-item:hover{transform:translateY(-1px);box-shadow:2px 2px #1d1a161a}.tag-cloud-item.on{box-shadow:2px 2px #1d1a1624}.tag-cloud-item .tag-count{font-size:10.5px;opacity:.72}.tag-cloud-item.on .tag-count{opacity:.9}.side-stats-num{font-family:var(--font-mono);font-size:46px;font-weight:700;line-height:1.1;color:var(--vermilion);letter-spacing:.02em}.side-stats-num span{font-size:15px;color:var(--ink-soft);margin-left:6px;letter-spacing:.2em}.side-contact{display:flex;flex-direction:column;gap:12px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;color:var(--ink-soft)}.side-contact a,.side-contact span{display:flex;align-items:center;gap:9px;transition:color .2s ease}.side-contact .anticon{color:var(--vermilion);font-size:14px}.side-contact a:hover{color:var(--vermilion)}.side-links{display:flex;flex-direction:column;gap:4px}.side-links-item{display:flex;align-items:baseline;gap:9px;padding:7px 8px;border-bottom:1px dashed transparent;color:var(--ink-soft);transition:all .2s ease}.side-links-item:hover{color:var(--vermilion);border-bottom-color:var(--line-soft);background:#c43a210a}.side-links-item .anticon{color:var(--vermilion);font-size:12px;flex-shrink:0;transform:translateY(1px)}.side-links-name{display:flex;flex-direction:column;min-width:0;font-size:13.5px;letter-spacing:.04em;line-height:1.5}.side-links-desc{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.side-links-item:hover .side-links-desc{color:var(--ink-soft)}.repost-banner{display:flex;align-items:center;gap:12px;margin-top:22px;padding:12px 16px;border:1px solid rgba(196,58,33,.45);border-left:3px solid var(--vermilion);background:#c43a210d}.repost-badge{flex-shrink:0;font-family:var(--font-serif);font-size:12px;font-weight:700;letter-spacing:.35em;text-indent:.35em;color:var(--paper);background:var(--vermilion);padding:4px 8px;box-shadow:2px 2px #9e2f1b59}.repost-text{font-size:13px;color:var(--ink-soft);letter-spacing:.03em}.repost-link{color:var(--vermilion);border-bottom:1px solid transparent;transition:all .2s ease}.repost-link:hover{color:var(--vermilion-deep);border-bottom-color:var(--vermilion-deep)}.repost-mark{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-indent:.2em;line-height:1;color:var(--vermilion);border:1px solid var(--vermilion);padding:3px 6px 2px;margin-left:8px;vertical-align:middle;white-space:nowrap}.pager-wrap{display:flex;justify-content:center;padding:40px 0 10px}.state-block{padding:70px 0;text-align:center;color:var(--ink-faint);letter-spacing:.2em}.search-page{padding:48px 0 90px}.search-input-row{max-width:560px;margin-bottom:28px;animation:rise .6s ease .05s both}.search-box{display:flex;align-items:stretch;border:1px solid var(--line);background:var(--paper-card);box-shadow:3px 3px #1d1a160f;transition:border-color .25s ease}.search-box:focus-within{border-color:var(--vermilion)}.search-box input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-serif);font-size:14px;color:var(--ink);letter-spacing:.06em;padding:11px 16px}.search-box input::placeholder{color:var(--ink-faint)}.search-box button{border:none;border-left:1px solid var(--line);background:var(--vermilion);color:var(--paper);font-family:var(--font-serif);font-size:13px;letter-spacing:.3em;text-indent:.3em;padding:0 24px;cursor:pointer;transition:background .25s ease}.search-box button:hover{background:var(--vermilion-deep)}.search-back-home{margin-top:16px;border:1px solid var(--line);background:none;color:var(--ink-soft);font-family:var(--font-serif);font-size:13px;letter-spacing:.2em;padding:6px 20px;cursor:pointer;transition:all .25s ease}.search-back-home:hover{border-color:var(--vermilion);color:var(--vermilion)}.article-page{padding:56px 0 90px}.back-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.25em;color:var(--ink-soft);border:1px solid var(--line);padding:8px 18px;cursor:pointer;background:none;transition:all .25s ease;margin-bottom:44px}.back-link:hover{border-color:var(--vermilion);color:var(--vermilion)}.article-head{max-width:800px;margin:0 auto;text-align:center}.article-head .meta{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);letter-spacing:.15em;margin-bottom:24px}.article-head .meta .cat{color:var(--vermilion)}.article-head h1{font-size:clamp(28px,4vw,42px);font-weight:900;line-height:1.45;letter-spacing:.04em}.article-head .ornament{margin:30px auto 0;color:var(--vermilion);letter-spacing:1em;font-size:12px;padding-left:1em}.article-body{max-width:800px;margin:48px auto 0;animation:rise .6s ease .15s both}.article-body .wmde-markdown{background:transparent!important;color:var(--ink);font-family:var(--font-serif);font-size:16.5px;line-height:2}.article-body .wmde-markdown h1,.article-body .wmde-markdown h2,.article-body .wmde-markdown h3,.article-body .wmde-markdown h4{font-family:var(--font-serif);color:var(--ink);border-bottom:none;letter-spacing:.05em}.article-body .wmde-markdown h2{position:relative;padding-left:18px}.article-body .wmde-markdown h2:before{content:"";position:absolute;left:0;top:.35em;width:6px;height:1.1em;background:var(--vermilion)}.article-body .wmde-markdown a{color:var(--vermilion-deep)}.article-body .wmde-markdown code{font-family:var(--font-mono);font-size:13.5px}.article-body .wmde-markdown pre{background:#26221d!important;border:1px solid var(--line)}.article-body .wmde-markdown blockquote{border-left:3px solid var(--vermilion);color:var(--ink-soft);background:#c43a210a}.article-tags{max-width:800px;margin:54px auto 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.article-tags .label{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;color:var(--ink-faint)}.article-tags span{font-family:var(--font-mono);font-size:12px;border:1px solid var(--line);padding:3px 12px;color:var(--ink-soft)}.article-nav{max-width:800px;margin:56px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line-soft);padding-top:30px}.article-nav-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);background:var(--paper-card);padding:16px 20px;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.article-nav-card:hover,.article-nav-card:focus-visible{border-color:var(--vermilion);box-shadow:3px 3px #c43a211f;transform:translateY(-2px);outline:none}.article-nav-card.right{text-align:right;align-items:flex-end}.article-nav-card .nav-dir{font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;color:var(--vermilion)}.article-nav-card .nav-title{font-size:15px;font-weight:700;color:var(--ink);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-nav-card .nav-date{font-size:11px;color:var(--ink-faint)}.article-nav-card.disabled{border-style:dashed;background:transparent;cursor:not-allowed}.article-nav-card.disabled:hover,.article-nav-card.disabled:focus-visible{border-color:var(--line);box-shadow:none;transform:none}.article-nav-card.disabled .nav-dir{color:var(--ink-faint)}.article-nav-card.disabled .nav-title{color:var(--ink-faint);font-weight:400}.about-page{padding:60px 0 90px}.about-grid{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}.profile-card{position:sticky;top:120px;background:var(--paper-card);border:1px solid var(--line);padding:34px 28px;text-align:center}.profile-card:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid var(--line-soft);pointer-events:none}.avatar{width:110px;height:110px;margin:0 auto 20px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:46px;font-weight:900;position:relative}.avatar:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border:1px solid var(--vermilion);border-radius:50%}.profile-card h2{font-size:24px;font-weight:900;letter-spacing:.2em}.profile-card .title{font-size:13px;color:var(--ink-soft);margin-top:8px;letter-spacing:.1em}.profile-contact{margin-top:22px;border-top:1px dashed var(--line);padding-top:18px;display:flex;flex-direction:column;gap:10px;font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.profile-contact a,.profile-contact span{display:flex;align-items:center;gap:8px;justify-content:center;transition:color .2s ease}.profile-contact a:hover{color:var(--vermilion)}.about-section{margin-bottom:56px;animation:rise .6s ease both}.about-section:nth-child(2){animation-delay:.1s}.about-section:nth-child(3){animation-delay:.2s}.about-section .bio-text{font-size:15.5px;color:var(--ink-soft);line-height:2.1;text-align:justify}.about-section .bio-text:first-letter{font-size:2.4em;float:left;line-height:1;margin:4px 10px 0 0;color:var(--vermilion);font-weight:900}.skill-row{display:grid;grid-template-columns:140px 1fr 52px;align-items:center;gap:16px;padding:9px 0;border-bottom:1px dashed var(--line-soft)}.skill-row .name{font-family:var(--font-mono);font-size:13px;letter-spacing:.05em}.skill-row .bar{height:4px;background:var(--paper-deep);position:relative;overflow:hidden}.skill-row .bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--ink),var(--vermilion));animation:grow 1.1s cubic-bezier(.2,.7,.2,1) both;transform-origin:left}.skill-row .num{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);text-align:right}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.skill-group-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--vermilion);margin:22px 0 8px;text-transform:uppercase}.project-card{position:relative;border:1px solid var(--line);background:var(--paper-card);padding:26px 28px;margin-bottom:20px;transition:all .3s ease}.project-card:hover{transform:translateY(-3px);box-shadow:6px 6px #1d1a1614;border-color:var(--ink-faint)}.project-card .head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.project-card h3{font-size:18px;font-weight:700;letter-spacing:.05em}.project-card h3:before{content:"◆ ";color:var(--vermilion);font-size:11px}.project-card .period{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.1em}.project-card .desc{margin-top:12px;font-size:13.5px;color:var(--ink-soft);line-height:1.9;text-align:justify}.project-card .tech{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.footer{border-top:1px solid var(--line);position:relative;padding:40px 0 48px;background:var(--paper-deep)}.footer:before{content:"";position:absolute;top:4px;left:0;right:0;border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer .brand{font-weight:900;letter-spacing:.3em;font-size:15px}.footer .brand .accent{color:var(--vermilion)}.footer .copy{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.12em}.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.footer-sep{color:var(--vermilion);font-size:8px;margin:0 10px;vertical-align:1px}.footer-icp{color:var(--ink-faint);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.footer-icp:hover{color:var(--vermilion)}.footer-police .anticon{color:var(--vermilion);margin-right:2px}.ant-pagination .ant-pagination-item{border-radius:0;border-color:var(--line);background:transparent;font-family:var(--font-mono)}.ant-pagination .ant-pagination-item-active{background:var(--ink);border-color:var(--ink)}.ant-pagination .ant-pagination-item-active a{color:var(--paper)}.ant-picker-calendar-mini .ant-picker-calendar-header{padding:8px 4px 12px}@media (max-width: 960px){.home-body{grid-template-columns:1fr}.masthead-main{flex-wrap:wrap;gap:14px}.masthead-search input{width:128px}.article-nav{grid-template-columns:1fr}.article-nav-card.right{text-align:left;align-items:flex-start}.featured-arrow.prev{left:10px}.featured-arrow.next{right:10px}.about-grid{grid-template-columns:1fr}.profile-card{position:static}.masthead-main{flex-direction:column;gap:10px;align-items:flex-start}.toc-card{grid-template-columns:44px 1fr}.toc-cover{display:none}.footer-meta{align-items:flex-start;text-align:left}}@media (prefers-color-scheme: dark){.wmde-markdown,.wmde-markdown-var{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-copied-active-bg: #2e9b33}}@media (prefers-color-scheme: light){.wmde-markdown,.wmde-markdown-var{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #d1242f;--color-danger-emphasis: #cf222e;--color-attention-fg: #9a6700;--color-attention-emphasis: #9a6700;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-success-fg: #1a7f37;--color-success-emphasis: #1f883d;--color-copied-active-bg: #2e9b33}}[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],body[data-color-mode*=dark]{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149}[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],body[data-color-mode*=light]{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #cf222e}.wmde-markdown{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word;color:var(--color-fg-default);background-color:var(--color-canvas-default)}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{display:inline-block;border-style:none;max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{box-sizing:content-box;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-muted);height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-default)}.wmde-markdown input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:before{display:table;content:""}.wmde-markdown hr:after{display:table;clear:both;content:""}.wmde-markdown table{border-spacing:0;border-collapse:collapse;display:block;width:-webkit-max-content;width:max-content;max-width:100%}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>*:not(summary){display:none!important}.wmde-markdown kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-subtle);border:solid 1px var(--color-neutral-muted);border-bottom-color:var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted)}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.wmde-markdown h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown h3{font-weight:600;font-size:1.25em}.wmde-markdown h4{font-weight:600;font-size:1em}.wmde-markdown h5{font-weight:600;font-size:.875em}.wmde-markdown h6{font-weight:600;font-size:.85em;color:var(--color-fg-muted)}.wmde-markdown p{margin-top:0;margin-bottom:10px}.wmde-markdown blockquote{margin:0;padding:0 1em;color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default)}.wmde-markdown ul,.wmde-markdown ol{margin-top:0;margin-bottom:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ul ul ol,.wmde-markdown ul ol ol,.wmde-markdown ol ul ol,.wmde-markdown ol ol ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown tt,.wmde-markdown code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.wmde-markdown .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-outer-spin-button,.wmde-markdown input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:before{display:table;content:""}.wmde-markdown:after{display:table;clear:both;content:""}.wmde-markdown>*:first-child{margin-top:0!important}.wmde-markdown>*:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown p,.wmde-markdown blockquote,.wmde-markdown ul,.wmde-markdown ol,.wmde-markdown dl,.wmde-markdown table,.wmde-markdown pre,.wmde-markdown details{margin-top:0;margin-bottom:16px}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 tt,.wmde-markdown h1 code,.wmde-markdown h2 tt,.wmde-markdown h2 code,.wmde-markdown h3 tt,.wmde-markdown h3 code,.wmde-markdown h4 tt,.wmde-markdown h4 code,.wmde-markdown h5 tt,.wmde-markdown h5 code,.wmde-markdown h6 tt,.wmde-markdown h6 code{padding:0 .2em;font-size:inherit}.wmde-markdown ul.no-list,.wmde-markdown ol.no-list{padding:0;list-style-type:none}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ul ul,.wmde-markdown ul ol,.wmde-markdown ol ol,.wmde-markdown ol ul{margin-top:0;margin-bottom:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.wmde-markdown dl dd{padding:0 16px;margin-bottom:16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table th,.wmde-markdown table td{padding:6px 13px;border:1px solid var(--color-border-default)}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-border-default)}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-fg-default)}.wmde-markdown span.align-center{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--color-neutral-muted);border-radius:6px}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.wmde-markdown pre{font-size:85%;line-height:1.45;background-color:var(--color-canvas-subtle);border-radius:6px}.wmde-markdown pre code,.wmde-markdown pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.wmde-markdown pre>code{padding:16px;overflow:auto;display:block}.wmde-markdown pre>code::-webkit-scrollbar{background:transparent;width:8px;height:8px}.wmde-markdown pre>code::-webkit-scrollbar-thumb{background:var(--color-fg-muted);border-radius:10px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-canvas-default);border:0}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{font-weight:600;background:var(--color-canvas-subtle);border-top:0}.wmde-markdown .footnotes{font-size:12px;color:var(--color-fg-muted);border-top:1px solid var(--color-border-default)}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid var(--color-accent-emphasis);border-radius:6px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .task-list-item-checkbox,.wmde-markdown .contains-task-list input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{visibility:hidden;display:flex;position:absolute;cursor:pointer;color:var(--color-fg-default);top:6px;right:6px;border-radius:5px;background:var(--color-border-default);padding:6px;font-size:12px;transition:all .3s}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre:hover .copied:active,.wmde-markdown pre .copied.active{background:var(--color-copied-active-bg);color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.wmde-markdown .markdown-alert{padding:.5rem 1em;color:inherit;margin-bottom:16px;border-left:.25em solid var(--borderColor-default, var(--color-border-default))}.wmde-markdown .markdown-alert>:last-child{margin-bottom:0!important}.wmde-markdown .markdown-alert .markdown-alert-title{display:flex;align-items:center;line-height:1;font-weight:500;font-size:14px}.wmde-markdown .markdown-alert .markdown-alert-title svg.octicon{margin-right:var(--base-size-8, 8px)!important}.wmde-markdown .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis, var(--color-accent-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent, var(--color-accent-fg))}.wmde-markdown .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis, var(--color-success-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success, var(--color-success-fg))}.wmde-markdown .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis, var(--color-done-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done, var(--color-done-fg))}.wmde-markdown .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis, var(--color-attention-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention, var(--color-attention-fg))}.wmde-markdown .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis, var(--color-danger-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger, var(--color-danger-fg))}.wmde-markdown .highlight-line{background-color:var(--color-neutral-muted)}.wmde-markdown .code-line.line-number:before{display:inline-block;width:1rem;text-align:right;margin-right:16px;color:var(--color-fg-subtle);content:attr(line);white-space:nowrap}.wmde-markdown .token.comment,.wmde-markdown .token.prolog,.wmde-markdown .token.doctype,.wmde-markdown .token.cdata{color:var(--color-prettylights-syntax-comment)}.wmde-markdown .token.namespace{opacity:.7}.wmde-markdown .token.property,.wmde-markdown .token.tag,.wmde-markdown .token.selector,.wmde-markdown .token.constant,.wmde-markdown .token.symbol,.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-entity-tag)}.wmde-markdown .token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.wmde-markdown .token.property-access,.wmde-markdown .token.operator,.wmde-markdown .token.boolean,.wmde-markdown .token.number,.wmde-markdown .token.selector .token.class,.wmde-markdown .token.attr-name,.wmde-markdown .token.string,.wmde-markdown .token.char,.wmde-markdown .token.builtin{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.wmde-markdown .code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.wmde-markdown .token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.wmde-markdown .code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.wmde-markdown .token.variable{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.entity,.wmde-markdown .token.url,.wmde-markdown .language-css .token.string,.wmde-markdown .style .token.string,.wmde-markdown .token.color,.wmde-markdown .token.atrule,.wmde-markdown .token.attr-value,.wmde-markdown .token.function,.wmde-markdown .token.class-name{color:var(--color-prettylights-syntax-string)}.wmde-markdown .token.rule,.wmde-markdown .token.regex,.wmde-markdown .token.important,.wmde-markdown .token.keyword{color:var(--color-prettylights-syntax-keyword)}.wmde-markdown .token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.wmde-markdown .token.important,.wmde-markdown .token.bold{font-weight:700}.wmde-markdown .token.italic{font-style:italic}.wmde-markdown .token.entity{cursor:help}
