@font-face{font-family:'maple mono';src:url("https://unpkg.com/@fontsource/maple-mono@5.2.4/files/maple-mono-latin-400-normal.woff2") format('woff2'),url("https://unpkg.com/@fontsource/maple-mono@5.2.4/files/maple-mono-latin-400-normal.woff") format('woff');font-display:swap}:root{--font:'Noto Sans SC','WenQuanYi Micro Hei','Noto Sans','Microsoft YaHei UI','Microsoft YaHei','HarmonyOS Sans SC','MiSans','PingFang SC','Hiragino Sans GB',ui-sans-serif,system-ui,sans-serif;--font-mono:'Maple Mono NF CN','Maple Mono SC NF','Sarasa Term SC','LXGW WenKai Mono','JetBrains Mono','Fira Code','Cascadia Code','Source Code Pro','Monaco','SF Mono',Menlo,Consolas,'DejaVu Sans Mono','Liberation Mono','Courier New',monospace;--font-title:'maple mono',var(--font-mono)}:root{--theme:#006000;--theme-a2:rgba(0,96,0,0.125);--theme-a4:rgba(0,96,0,0.25);--theme-a8:rgba(0,96,0,0.5);--theme-ad:rgba(0,96,0,0.813);--theme-text:#fff;--bg:#fff;--text:#000;--code:#800;--code-bg:rgba(255,0,0,0.067);--border:#444;--text-a1:rgba(0,0,0,0.063);--text-a2:rgba(0,0,0,0.125);--text-a8:rgba(0,0,0,0.502);--panel:rgba(0,0,0,0.067);--note:#1d80d2;--note-tip:#01a501;--note-warn:#b17700;--note-danger:#bc0000}@media (prefers-color-scheme:dark){:root{--theme:#0b0;--theme-a2:rgba(0,187,0,0.125);--theme-a4:rgba(0,187,0,0.25);--theme-a8:rgba(0,187,0,0.5);--theme-ad:rgba(0,187,0,0.813);--theme-text:#fff;--bg:#101010;--text:#f0f0f0;--code:#f88;--code-bg:rgba(255,0,0,0.067);--border:#444;--text-a1:rgba(240,240,240,0.063);--text-a2:rgba(240,240,240,0.125);--text-a8:rgba(240,240,240,0.502);--panel:rgba(255,255,255,0.067);--note:#69bbff;--note-tip:#4ac94a;--note-warn:#e0e059;--note-danger:#ec3e3e}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font)}::selection{background:var(--theme-a8)}a{color:var(--theme);word-wrap:break-word;transition:.1s color}a:hover{color:var(--text)}code{font-family:var(--font-mono);font-feature-settings:'calt','cv01','cv03','cv61','cv96','cv97','cv98','ss08'}.wrap,main{padding:0 16px;max-width:1000px}.rounded{border-radius:8px}.rounded .rounded{border-radius:7px}.flex{flex:1}.glass{border:1px solid var(--glass-border);background:var(--glass);--glass:color-mix(in srgb, var(--bg), #0000);--glass-border:color-mix(in srgb, var(--text), #0000 90%);backdrop-filter:blur(8px)}.link{position:relative;color:var(--text);text-decoration:none;transition:.2s}.link>*{position:relative}.link:after{position:absolute;z-index:-1;background:var(--theme);content:'';opacity:0;filter:blur(32px);transition:.5s;pointer-events:none;inset:0}.link:hover{color:var(--theme)}.link:hover:after{opacity:1}.link:active{opacity:.6}main{position:relative;margin:auto;inset:0}.contact{display:flex;flex-wrap:wrap;gap:8px}.contact a{all:unset;display:block;width:32px;height:32px;border-radius:100%;text-align:center;font:20px/32px icon;transition:.1s background,.1s color}.contact a:hover{background:var(--color);color:#fff}.contact a:focus-visible{outline:2px solid;background:var(--color);color:#fff}footer{padding:32px 16px}footer .wrap{margin:auto;inset:0}header{position:relative;overflow:hidden;padding:128px 0;background:linear-gradient(var(--color) 2%,rgba(0,0,0,0) 0) 0 16px/1px 32px,linear-gradient(to right,var(--color) 2%,rgba(0,0,0,0) 0) 16px/32px;animation:grid 10s infinite linear;--color:color-mix(in srgb, var(--text), var(--bg) 90%)}header:after{position:absolute;bottom:0;left:0;width:100%;height:max(10%,64px);background:linear-gradient(to bottom,rgba(0,0,0,0),var(--bg));content:'';pointer-events:none}header>:not(picture){position:relative;margin:auto;inset:0}header img{position:absolute;width:100%;height:100%;opacity:.5;inset:0;object-fit:cover}h1{margin:0;font-size:clamp(42px, 5vw, 63px);line-height:1.2}@-moz-keyframes grid{0%{background-position:16px 16px}100%{background-position:48px 80px}}@-webkit-keyframes grid{0%{background-position:16px 16px}100%{background-position:48px 80px}}@-o-keyframes grid{0%{background-position:16px 16px}100%{background-position:48px 80px}}@keyframes grid{0%{background-position:16px 16px}100%{background-position:48px 80px}}nav{position:fixed;top:8px;right:0;left:0;z-index:100;display:flex;overflow:hidden;margin:auto;padding:4px;width:min(1000px,calc(100vw - 8px));height:40px;border:1px solid transparent;border-radius:12px;line-height:1;transition:.1s}#nav,#search{width:32px;height:32px;border:none;background:rgba(0,0,0,0);font-size:16px}#nav{display:none}.nav{display:flex;margin:0;padding:0}.nav li{display:block;padding:0}.nav a{display:block;padding:8px}.site{padding:0 8px;height:32px;font-weight:700;font-family:var(--font-title);line-height:32px}.nav-hide{top:-42px}@media (max-width:700px){#nav{display:block}.nav{position:absolute;top:40px}.nav-show{height:80px}.nav-show.nav-toc{height:calc(100vh - 16px)}}html:has(.search[open]){overflow:hidden}.search{margin:128px auto 16px;padding:0;width:min(calc(100vw - 32px),600px);border:1px solid var(--border);background:var(--bg)}.search::backdrop{backdrop-filter:blur(4px)}.search-bar{display:flex}.search-bar button{width:67px;border:0;background:rgba(0,0,0,0);font-size:20px}.search-input{all:unset;display:block;flex:1;box-sizing:border-box;padding:16px;color:var(--text);font:24px/1 var(--font)}.search-result{overflow:hidden auto;max-height:calc(100vh - 300px)}.search-result a{display:block;padding:16px;border-left:4px solid transparent;color:var(--text);text-decoration:none}.search-result a.active,.search-result a:focus-visible,.search-result a:hover{border-color:var(--theme);background:var(--panel)}.search-title{font-size:20px}.search-excerpt{opacity:.8}.search-excerpt mark{background:var(--theme-a2);color:var(--theme)}@media (max-width:700px),(max-height:700px){.search{margin:0;max-width:100vw;max-height:100vh;max-height:100svh;width:100vw;height:100vh}.search-result{max-height:calc(100vh - 68px);max-height:calc(100svh - 68px)}}#waline{margin:auto;--waline-theme-color:var(--theme);--waline-active-color:var(--theme-ad);--waline-color:var(--text);--waline-bg-color:var(--bg);--waline-bg-color-light:var(--panel);--waline-bg-color-hover:var(--text-a2);--waline-border:1px solid var(--text-a8);--waline-border-color:var(--text-a2);--waline-code-bg-color:#2d2d2d;--waline-info-bg-color:var(--panel)}#waline textarea{font-family:var(--font-mono)}.archive a{margin-left:1ch}