:root{--rule:#ddd;--quiet:#555;--cell:#999;--head:#ddd;--cjk:"Noto Sans SC Web", "Noto Sans CJK SC", "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;--cjk-regular:"Noto Sans CJK SC", "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;--latin:"Ubuntu Mono";--cjk-weight:300}:root:lang(zh-hant){--cjk:"Noto Sans CJK TC", "Source Han Sans TC", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif}:root:lang(ja){--cjk:"Noto Sans CJK JP", "Noto Sans JP", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif}@font-face{font-family:geneva;font-weight:400;src:local("Geneva")}@font-face{font-family:geneva;font-weight:700;src:local("Lucida Grande Bold"),local("LucidaGrande-Bold")}:root{--scale:1.2}body{zoom:var(--scale)}html{background:var(--g400)}@font-face{font-family:ubuntu mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/UbuntuMono-R.90ab0d8ab24d53c918bd924f1b2796bda8210c16da6d90a8a7fdf3907b74f68a.woff2)format("woff2")}@font-face{font-family:ubuntu mono bold;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/UbuntuMono-B.0aa9433a3f747a3f4728b2c74a5c56e21e097392f0a260b95276649af5a093b1.woff2)format("woff2")}@font-face{font-family:noto sans sc web;font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/NotoSansSC-Light.dec130791e02c90e243d1cff7910f5df0f09a4f417c880ea8bbe3db0e39b2551.woff2)format("woff2")}@font-face{font-family:ubuntu mono;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/UbuntuMono-B.0aa9433a3f747a3f4728b2c74a5c56e21e097392f0a260b95276649af5a093b1.woff2)format("woff2")}body{font-family:var(--latin),charcoal,chicago,geneva,lucida grande,lucida sans,Verdana,var(--cjk)}.window{max-width:720px}.strip.tools{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ddd;color:#333;font-size:11px;border-bottom:1px solid #262626;box-shadow:inset 1px 1px rgba(255,255,255,.6),inset -1px -1px #aaa}.crumbs{display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap;overflow:hidden}.crumbs .crumb{display:inline-flex;align-items:baseline;gap:5px;flex:none}.crumbs a{color:#339;text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs .sep{display:block;flex:none;align-self:center;margin:0 1px;width:4px;height:7px;color:#777;shape-rendering:crispEdges}.crumbs .sep .k{fill:currentColor}@media(min-resolution:1.01dppx) and (max-resolution:1.99dppx){.crumbs .sep{shape-rendering:geometricPrecision}}.crumbs b{flex:initial;min-width:3em;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.crumbs .crumb:not(:last-of-type){display:none}}.strip.tools.typed{padding-top:4px;padding-bottom:4px}.type{display:flex;gap:8px;flex:none;margin-left:auto}html:not(.type-on) .type{visibility:hidden}.type .seg{display:flex}.type .btn{min-width:0;margin:0;font-family:inherit;cursor:default}.type .seg .btn{border-radius:0;border-right-width:0}.type .seg .btn:first-child{border-radius:3px 0 0 3px}.type .seg .btn:last-child{border-radius:0 3px 3px 0;border-right-width:1px}.type .seg .btn:only-child{border-radius:3px;border-right-width:1px}.type .size .btn,.type .wrap .btn{padding:2px 8px;min-width:24px}.type [data-type=wrap] .s{font-size:12px}html:not(.serif) .type [data-type=sans],html.serif .type [data-type=serif],html.code-wrap .type [data-type=wrap]{background:#888;color:#fff;box-shadow:inset 1px 1px #666,inset -1px -1px #aaa,inset 2px 2px #777,inset -2px -2px #999}.type .btn:disabled,html.ts-min .type [data-type=smaller],html.ts-max .type [data-type=bigger]{color:#777;border-color:#888;background:var(--g300);box-shadow:none}.type .s{font-weight:400;font-size:14px;line-height:14px}.type [data-type=serif] .s{font-family:ubuntu mono bold}.type [data-type=sans] .s{font-family:ubuntu mono}.body{padding:16px 16px 12px}.head{display:flex;align-items:center;gap:12px;margin:0 0 12px}.head .avatar{display:block;width:32px;height:32px;flex:none}.head h1{margin:0;font-size:12px;line-height:16px}.head h1 small{display:block;font-size:12px;font-weight:400;color:var(--quiet)}.head h1 small p{margin:0}.items{margin:0}.item{padding:6px 0;border-top:1px solid var(--rule)}.items .item:last-child{border-bottom:1px solid var(--rule)}.item-head{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap}.item-title{font-weight:700;text-decoration:none;color:#339}.item-title:hover{text-decoration:underline}.item-date{margin-left:auto;font-size:11px;color:var(--quiet);white-space:nowrap}.item-summary{margin:2px 0 0;color:#333}.links-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:12px}.link-cell{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:4px 0}@media(max-width:560px){.links-grid{grid-template-columns:1fr}}.link-avatar{display:block;width:32px;height:32px;object-fit:contain;flex:none;image-rendering:pixelated}.link-text{flex:auto;min-width:0}.link-text .item-title{display:block}.link-text .item-summary{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-body{margin:2px 0 0}html:not(.lang-on) [data-l]:not([data-o]){display:none}h2.section{margin:16px 0 4px;font-size:12px;line-height:16px}.feed-note{margin:0 0 12px}.feed-note code{font:11px/1.45 ubuntu mono,Monaco,Menlo,Consolas,dejavu sans mono,monospace;user-select:all}.items+h2.section{margin-top:20px}.post-title{margin:0 0 2px;font-size:var(--ts,12px);line-height:calc(var(--ts,12px) + 4px)}.date{margin:0 0 12px;font-size:11px;color:var(--quiet)}.meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:0 0 12px}.meta .date{margin:0}.langs{display:flex;flex-wrap:wrap;gap:2px 8px;margin-left:auto;font-size:11px}.langs a{color:#339;text-decoration:none}.langs a:hover{text-decoration:underline}.content{font-size:var(--ts,12px);line-height:1.45}.post-title,.content{font-family:var(--latin),charcoal,chicago,geneva,lucida grande,lucida sans,Verdana,var(--cjk)}.content{font-weight:var(--cjk-weight)}html.serif{--latin:"Ubuntu Mono Bold";--cjk:var(--cjk-regular);--cjk-weight:400}.content>:first-child{margin-top:0}.content h1,.content h2{font-size:1em;font-weight:700;line-height:1.34;margin:16px 0 4px}.content h3,.content h4{font-size:1em;font-weight:700;line-height:1.34;margin:12px 0 4px;color:var(--quiet)}.content p{margin:0 0 8px}.content ul,.content ol{margin:0 0 8px;padding:0 0 0 18px}.content li{margin:0 0 4px}.content li>p{margin:0 0 4px}.content code{font:calc(var(--ts,12px) - 1px)/1.45 ubuntu mono,Monaco,Menlo,Consolas,dejavu sans mono,monospace}.content pre{margin:8px 0;padding:8px 10px;white-space:pre;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#888 #333;background:#000;color:#fff;cursor:text;border:1px solid #262626;box-shadow:-1px -1px #999,1px 1px #fff}.content pre code{color:inherit}.content pre::-webkit-scrollbar{height:8px}.content pre::-webkit-scrollbar-track{background:#333}.content pre::-webkit-scrollbar-thumb{background:#888;border:1px solid #000}html.code-wrap .content pre{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:hidden}.content .codeblock{position:relative;margin:8px 0}.content .codeblock>pre,.content .codeblock>.highlight{margin:0}.content>.codeblock:first-child{margin-top:0}.codeblock .copy{position:absolute;top:-7px;right:-7px;z-index:2;width:16px;height:16px;padding:0;cursor:pointer;background:var(--g300);border:1px solid var(--black);border-radius:2px;box-shadow:inset 1px 1px #fff,inset -1px -1px #aaa}.codeblock .copy::before,.codeblock .copy::after{content:"";position:absolute;box-sizing:border-box;border:1px solid var(--black)}.codeblock .copy::before{left:4px;top:3px;width:6px;height:7px}.codeblock .copy::after{left:6px;top:5px;width:6px;height:7px;background:var(--g300)}.codeblock .copy:active,.codeblock .copy.copied{background:var(--g800);box-shadow:inset 1px 1px #444,inset -1px -1px #888}.codeblock .copy:active::before,.codeblock .copy:active::after,.codeblock .copy.copied::before,.codeblock .copy.copied::after{border-color:#fff}.codeblock .copy:active::after,.codeblock .copy.copied::after{background:var(--g800)}.codeblock .copy:focus-visible{outline:2px solid var(--hl);outline-offset:1px}@media(pointer:coarse){.codeblock .copy{width:20px;height:20px;top:-8px;right:-8px}.codeblock .copy::before{left:5px;top:4px;width:7px;height:8px}.codeblock .copy::after{left:8px;top:6px;width:7px;height:8px}}.content blockquote{margin:0 0 8px;padding:0 0 0 10px;border-left:2px solid #999;color:var(--quiet)}.content hr{border:0;border-top:1px solid #262626;margin:12px 0}.content img,.content video{max-width:100%;height:auto}.content p>img:only-child{display:block;margin:12px 0;border:1px solid #262626;background:#ccf;box-shadow:-1px -1px #999,1px 1px #fff}.content img.pixel,.content img[width="88"][height="31"]{image-rendering:pixelated;image-rendering:crisp-edges}.content p>img[width="88"][height="31"]:only-child,.content p>img.pixel:only-child{display:inline-block;margin:0;border:0;background:0 0;box-shadow:none}.content table{border-collapse:collapse;font-size:calc(var(--ts,12px) - 1px);line-height:1.4;margin:8px 0;max-width:100%}.content th,.content td{border:1px solid var(--cell);padding:3px 6px;text-align:left;vertical-align:top}.content th{background:var(--head);font-weight:700;white-space:nowrap}.content input[type=checkbox]{vertical-align:-1px}@supports selector(li:has(> input)){.content li:is(:has(>input[type=checkbox]),:has(>p:first-child>input[type=checkbox]:first-child)){position:relative}.content ul>li:is(:has(>input[type=checkbox]),:has(>p:first-child>input[type=checkbox]:first-child)){list-style:none}.content ol>li:is(:has(>input[type=checkbox]),:has(>p:first-child>input[type=checkbox]:first-child)){padding-left:18px}.content li>input[type=checkbox],.content li>p:first-child>input[type=checkbox]:first-child{display:none}.content li:is(:has(>input[type=checkbox]),:has(>p:first-child>input[type=checkbox]:first-child))::before{content:"";box-sizing:border-box;position:absolute;left:-18px;top:max(3px,calc(.725em - 6px));width:12px;height:12px;border:1px solid var(--black);background:#fff 50% no-repeat;box-shadow:inset 1px 1px 0 var(--g500),inset -1px -1px #fff}.content ol>li:is(:has(>input[type=checkbox]),:has(>p:first-child>input[type=checkbox]:first-child))::before{left:0}.content li:is(:has(>input[type=checkbox]:checked),:has(>p:first-child>input[type=checkbox]:first-child:checked))::before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" shape-rendering="crispEdges"><path fill="black" d="M1 3h1v2h-1z M2 4h1v2h-1z M3 5h1v2h-1z M4 4h1v2h-1z M5 3h1v2h-1z M6 2h1v2h-1z M7 1h1v2h-1z M8 0h1v2h-1z"/></svg>')}.content li>input[type=checkbox]:checked+.todo-words,.content li>input[type=checkbox]:checked+p{color:#777;text-decoration:line-through}.content li[id^=todo-item-]{pointer-events:none}.content li[id^=todo-item-]>*,.content li[id^=todo-item-]::before{pointer-events:auto}}.video-container,.audio-container{margin:0 0 8px}.video-container video,.audio-container audio{display:block;width:100%}.tags{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:12px 0 0;font-size:11px}.tags .quiet{color:var(--quiet)}.copyright{display:grid;grid-template-columns:max-content 1fr;gap:1px 8px;margin:12px 0 0;padding:8px 0 0;border-top:1px solid var(--rule);font-size:11px;line-height:1.7;color:var(--quiet)}.copyright dt{color:#777}.copyright dd{margin:0;min-width:0;overflow-wrap:anywhere}.copyright a{color:#339;text-decoration:none}.copyright a:hover{text-decoration:underline}.tags .tag{color:#339;text-decoration:none}.tags .tag:hover{text-decoration:underline}.btnrow{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:4px 12px 12px}.btnrow .btn{font-family:inherit}.items:has(+.pager) .item:last-child{border-bottom:0}.pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 0 0;border-top:1px solid var(--rule)}.pager-side{display:flex}.pager-side-end{justify-content:flex-end}.pager-num{font-size:11px;line-height:20px;color:var(--quiet)}.pager .btn{min-width:44px;font-family:inherit}.btnrow .btn .ix{display:none}@media(max-width:480px){.btnrow{gap:8px;justify-content:center}.btnrow .btn:not(.glyph){min-width:0;padding:2px 8px;font-size:11px}.btnrow .btn.glyph{min-width:0;width:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.btnrow .btn.glyph .t{display:none}.btnrow .btn.glyph .ix{display:block;shape-rendering:crispEdges}}@media(max-width:480px) and (min-resolution:1.01dppx) and (max-resolution:1.99dppx){.btnrow .btn.glyph .ix{shape-rendering:geometricPrecision}}.btn.default{outline:2px solid #262626;outline-offset:1px;border-radius:4px}.statusbar>:last-child:not(:first-child){margin-left:auto}.statusbar a{color:#339;text-decoration:none}.statusbar a:hover{text-decoration:underline}.foot{max-width:720px;margin:0 auto;text-align:center;font-size:11px;color:#333}.foot a,.foot-links a{color:#339;text-decoration:none}.foot-links{display:flex;flex-wrap:wrap;justify-content:center;max-width:720px;margin:6px auto 0;font-size:11px;line-height:1.45;color:#333}.foot-links a:not(:first-child)::before{content:"·";color:var(--quiet);margin:0 8px 0 5px}.content .highlight{margin:8px 0}.content .highlight pre{margin:0}.content .highlight code{font-size:inherit}.content .footnotes{margin:16px 0 0;font-size:calc(var(--ts,12px) - 1px);color:var(--quiet)}.content .footnotes hr{border-top:1px solid var(--rule)}.content .footnotes ol{padding:0 0 0 18px}.content dl{margin:0 0 8px}.content dt{font-weight:700}.content dd{margin:0 0 4px 18px}.content sup{line-height:0}.content .highlight pre{background:#000!important}.content .katex{font-size:1.05em}.content .katex-display{margin:10px 0;padding:2px 0;overflow-x:auto;overflow-y:hidden}.content a{overflow-wrap:anywhere;color:#339;text-decoration:none}.content a:hover{text-decoration:underline}@media(max-width:480px){.type{display:none}.strip.tools.typed{padding-top:6px;padding-bottom:6px}}