:root{--xvort-background: #0f0f0c;--xvort-background-soft: #12120f;--xvort-surface: #171711;--xvort-surface-raised: #1d1c15;--xvort-text: #d8d3c7;--xvort-text-muted: #9c9689;--xvort-text-soft: #bcb5a7;--xvort-heading: #eee8da;--xvort-strong: #f3ecdf;--xvort-border: rgba(216, 211, 199, .14);--xvort-border-soft: rgba(216, 211, 199, .08);--xvort-accent: #b99d63;--xvort-accent-soft: rgba(185, 157, 99, .18);--xvort-link: #d1b879;--xvort-link-hover: #ead79b;--xvort-code-background: #191811;--xvort-blockquote-background: rgba(216, 211, 199, .035);--xvort-container-width: 1220px;--xvort-reading-width: 860px;--xvort-system-width: 960px;--xvort-radius: 8px;--theme-color: var(--xvort-accent);--base-background-color: var(--xvort-background);--base-color: var(--xvort-text);--muted-color: var(--xvort-text-muted);--heading-color: var(--xvort-heading);--strong-color: var(--xvort-strong);--link-color: var(--xvort-link);--link-color-hover: var(--xvort-link-hover);--surface-color: var(--xvort-surface);--border-color: var(--xvort-border);--code-background: var(--xvort-code-background);--blockquote-background: var(--xvort-blockquote-background);--container-width: var(--xvort-container-width);color-scheme:dark}*{box-sizing:border-box}html{background:var(--base-background-color);scroll-padding-top:84px}body{min-width:320px;min-height:100vh;margin:0;color:var(--base-color);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 340px),var(--base-background-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;letter-spacing:0}a{color:var(--link-color);text-decoration:none;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--link-color-hover);text-decoration:underline}.site-shell{width:min(100% - 48px,var(--container-width));margin:0 auto}.site-header{border-bottom:1px solid var(--xvort-border-soft);background:#0d0d0aeb}.header-inner{min-height:60px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content;color:var(--heading-color);font-size:16px;font-weight:600;letter-spacing:.02em}.brand:hover{color:var(--heading-color);text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.primary-nav{min-width:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px}.primary-nav a,.github-link{color:var(--muted-color);font-size:14px;line-height:1.5}.github-link{min-width:max-content}.primary-nav a,.github-link,.mobile-nav summary{border-radius:999px;transition:color .14s ease,background-color .14s ease,border-color .14s ease}.primary-nav a,.github-link{padding:.35rem .62rem}.primary-nav a:hover,.github-link:hover{color:var(--xvort-heading);background:var(--xvort-accent-soft);text-decoration:none}.mobile-nav{display:none}.site-main{min-height:calc(100vh - 121px)}.content-shell{padding:56px 0 88px}.page-reading{max-width:var(--xvort-reading-width)}.page-system{max-width:var(--xvort-system-width)}.page-archive{max-width:var(--container-width)}.markdown-body{line-height:1.82;font-size:16px;color:var(--xvort-text)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--heading-color);font-weight:600;letter-spacing:0}.markdown-body h1{margin:0 0 1.8rem;font-size:2.05rem;line-height:1.28}.markdown-body h2{margin:3rem 0 1.1rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-color);font-size:1.45rem;line-height:1.35}.markdown-body h3{margin:2.2rem 0 .8rem;font-size:1.15rem;line-height:1.45}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:1.05em 0}.markdown-body p,.markdown-body li{color:var(--xvort-text)}.markdown-body ul,.markdown-body ol{padding-left:1.35rem}.markdown-body li+li{margin-top:.2em}.markdown-body strong{color:var(--strong-color);font-weight:600}.markdown-body blockquote{margin:1.6em 0;padding:.9em 1.15em;color:var(--xvort-text-soft);background:var(--blockquote-background);border:1px solid var(--xvort-border-soft);border-left:3px solid var(--xvort-accent);border-radius:var(--xvort-radius)}.markdown-body blockquote p{margin:.45em 0;color:inherit}.markdown-body pre{margin:1.5em 0;padding:1.05em 1.2em;overflow-x:auto;background:var(--code-background)!important;border:1px solid var(--xvort-border-soft);border-radius:var(--xvort-radius)}.markdown-body code{border-radius:4px;font-size:.94em}.markdown-body :not(pre)>code{padding:.15em .35em;color:var(--xvort-heading);background:var(--code-background);border:1px solid var(--xvort-border-soft)}.markdown-body table{display:block;width:100%;margin:1.6em 0;overflow-x:auto;border-collapse:collapse;font-size:.95em}.markdown-body thead{background:#d8d3c709}.markdown-body th,.markdown-body td{padding:.65em .85em;border:1px solid var(--border-color)}.markdown-body th{color:var(--xvort-heading);font-weight:600}.markdown-body hr{margin:2.2rem 0;border:0;border-top:1px solid var(--border-color)}.markdown-body img{max-width:100%;height:auto}.xvort-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin:28px 0}.xvort-grid>div{min-width:0;padding:1.05rem 1.1rem;background:var(--xvort-surface);border:1px solid var(--xvort-border-soft);border-radius:var(--xvort-radius)}.xvort-grid>div>:first-child{margin-top:0}.xvort-grid>div>:last-child{margin-bottom:0}.xvort-home .content-shell{padding-top:72px}.xvort-home .markdown-body{max-width:1040px;margin:0 auto}.xvort-home .markdown-body>h1:first-child{margin-bottom:1.3rem;max-width:720px;color:var(--xvort-heading);font-size:2.35rem}.xvort-home .markdown-body>h1:first-child+p{max-width:720px;color:var(--xvort-text-soft);font-size:1.08rem}.xvort-home .markdown-body>blockquote{max-width:820px}.xvort-home .markdown-body>ul{padding:1.15rem 1.25rem 1.15rem 2.35rem;background:var(--xvort-surface);border:1px solid var(--xvort-border-soft);border-radius:var(--xvort-radius)}.xvort-home .markdown-body>ul li+li{margin-top:.8em}.site-footer{border-top:1px solid var(--xvort-border-soft);color:var(--xvort-text-muted);background:#0d0d0aeb;font-size:13px;text-align:center}.site-footer .site-shell{padding:20px 0}@media(max-width:860px){.site-shell{width:min(100% - 32px,var(--container-width))}.header-inner{min-height:0;grid-template-columns:1fr auto;gap:12px 16px;padding:14px 0 12px}.brand img{width:36px;height:36px}.primary-nav{display:none}.github-link{grid-column:2;grid-row:1}.mobile-nav{grid-column:1 / -1;display:block;color:var(--muted-color);font-size:14px}.mobile-nav summary{width:max-content;max-width:100%;padding:.25rem 0;cursor:pointer;list-style:none;line-height:1.5}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:after{content:"+";display:inline-block;margin-left:8px;color:var(--xvort-text-muted)}.mobile-nav[open] summary:after{content:"-"}.mobile-nav nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px}.mobile-nav a{color:var(--muted-color);font-size:14px;line-height:1.5}.content-shell{padding:36px 0 64px}.markdown-body{font-size:15.5px;line-height:1.78}.markdown-body h1{font-size:1.75rem}.markdown-body h2{margin-top:2.4rem;font-size:1.28rem}.xvort-grid{grid-template-columns:1fr;gap:18px}.xvort-grid>div{padding:.95rem 1rem}.xvort-home .content-shell{padding-top:42px}.xvort-home .markdown-body>h1:first-child{font-size:1.95rem}.xvort-home .markdown-body>h1:first-child+p{font-size:1rem}}@media(max-width:480px){.site-shell{width:min(100% - 28px,var(--container-width))}.brand{font-size:15px}.brand img{width:32px;height:32px}.primary-nav a,.github-link{font-size:13.5px}.content-shell{padding-top:30px}.markdown-body{font-size:15px}.xvort-home .markdown-body>ul{padding:1rem 1rem 1rem 1.45rem}}
