:root{color-scheme:dark;--bg:#0c0d10;--home-bg:#0a0b11;--fg:#fefefe;--link:#93ffd7;--link-hover-bg:#153329;--link-hover:#c7ffe9;--text-font:"gohu";--text-size:14px;--cjk-size:13px;--cjk-link-size:14px;--text-cell:8px;--home-size:14px;--fit-scale:1;--ansi-black:#15161e;--ansi-red:#f7768e;--ansi-green:#9ece6a;--ansi-yellow:#e0af68;--ansi-blue:#7aa2f7;--ansi-magenta:#bb9af7;--ansi-cyan:#7dcfff;--ansi-white:#a9b1d6;--ansi-bright-black:#414868;--ansi-bright-red:#ff899d;--ansi-bright-green:#b4f9a8;--ansi-bright-yellow:#e0c989;--ansi-bright-blue:#8db0ff;--ansi-bright-magenta:#c7a9ff;--ansi-bright-cyan:#a4daff;--ansi-bright-white:#c0caf5}html{background:var(--bg)}body{box-sizing:border-box;background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--text-font);font-synthesis:none;text-rendering:optimizespeed;-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;margin:0 auto;padding:1em 0}.screen{z-index:1;text-align:center;-webkit-overflow-scrolling:touch;max-width:100vw;position:relative;overflow-x:auto}a{color:var(--link);text-decoration:none}a:hover,a:focus-visible{background:var(--link-hover-bg);color:var(--link-hover);text-underline-offset:2px;outline:0;text-decoration:underline 1px}.textmode-pre{white-space:pre;overflow-wrap:normal;color:var(--fg);font-family:var(--text-font);font-size:var(--text-size);margin:0;line-height:1}.textmode-wrap{text-align:left;max-width:100vw;display:inline-block;overflow-x:auto}.ascii-particles{z-index:2;pointer-events:none;contain:layout paint style;position:fixed;inset:0;overflow:hidden}.ascii-particles span{color:var(--particle-home);font-family:var(--text-font);font-size:calc(var(--text-size) + 1px);opacity:0;mix-blend-mode:screen;text-shadow:0 0 4px var(--particle-home-glow);backface-visibility:hidden;will-change:opacity, transform;line-height:1;position:absolute;top:0;left:0}body:has(.phile-wrap) .ascii-particles span,body:has(.volume-wrap) .ascii-particles span{color:var(--particle-page);text-shadow:0 0 2px var(--particle-page-glow)}body:has(.volume-wrap) .ascii-particles span{color:var(--particle-volume);text-shadow:0 0 3px var(--particle-volume-glow)}body:has(.home-shell),html:has(.home-shell){background-color:var(--home-bg)}.screen:has(.home-shell){text-align:center;justify-content:center;align-items:center;min-height:calc(100vh - 2em);display:flex}.home-shell{text-align:left;display:inline-block}.home-pre{font-family:var(--text-font);font-size:var(--home-size);padding-left:20px}.ascii-hero{margin-bottom:var(--text-size);display:inline-block;position:relative}.ascii-hero:before,.ascii-hero:after{pointer-events:none;content:"";opacity:0;position:absolute}.ascii-hero:before{top:var(--ascii-scan-top,0);left:var(--ascii-scan-left,0);width:var(--ascii-scan-width,0);height:var(--ascii-scan-height,0);mix-blend-mode:screen;background:currentColor}.ascii-hero:after{top:var(--ascii-bloom-y,50%);left:var(--ascii-bloom-x,50%);width:calc(var(--text-cell) * 7);height:calc(var(--text-size) * 2);filter:blur(8px);background:currentColor;transform:translate(-50%,-50%)}.ascii-hero.is-glitching:before{opacity:var(--ascii-scan-opacity,.6)}.ascii-hero.is-glitching:after{opacity:var(--ascii-bloom-opacity,.03)}.ascii-pre{z-index:1;color:var(--fg);padding-left:0;position:relative}.ascii-glitch{z-index:2;color:var(--link);opacity:0;text-shadow:var(--ascii-glitch-shadow-a,2px) 0 var(--fg), var(--ascii-glitch-shadow-b,-2px) 0 var(--link-hover);transform:translate(var(--ascii-glitch-shift-x,0), var(--ascii-glitch-shift-y,0));clip-path:inset(var(--ascii-glitch-clip-top,0) var(--ascii-glitch-clip-right,0) var(--ascii-glitch-clip-bottom,0) var(--ascii-glitch-clip-left,0));position:absolute;inset:0}.ascii-hero.is-glitching .ascii-glitch{opacity:var(--ascii-glitch-opacity,.72)}.life-art{color:var(--fg);position:relative;overflow:visible}.life-grid{--life-grid-size:13px;grid-template-columns:repeat(var(--life-grid-width), var(--life-grid-size));grid-template-rows:repeat(var(--life-grid-height), var(--life-grid-size));width:calc(var(--life-grid-width) * var(--life-grid-size));height:calc(var(--life-grid-height) * var(--life-grid-size));pointer-events:none;z-index:3;display:grid;position:absolute}.life-pixel{width:var(--life-grid-size);height:var(--life-grid-size);display:block}.life-pixel.is-alive{background:currentColor;box-shadow:0 0 0 .5px}.ansi{--cjk-ink:currentColor}.ansi-black{color:var(--ansi-black,#000)}.ansi-red{color:var(--ansi-red,#a00)}.ansi-green{color:var(--ansi-green,#0a0)}.ansi-yellow{color:var(--ansi-yellow,#a50)}.ansi-blue{color:var(--ansi-blue,#00a)}.ansi-magenta{color:var(--ansi-magenta,#a0a)}.ansi-cyan{color:var(--ansi-cyan,#0aa)}.ansi-white{color:var(--ansi-white,#aaa)}.ansi-bright-black{color:var(--ansi-bright-black,#555)}.ansi-bright-red{color:var(--ansi-bright-red,#f55)}.ansi-bright-green{color:var(--ansi-bright-green,#5f5)}.ansi-bright-yellow{color:var(--ansi-bright-yellow,#ff5)}.ansi-bright-blue{color:var(--ansi-bright-blue,#55f)}.ansi-bright-magenta{color:var(--ansi-bright-magenta,#f5f)}.ansi-bright-cyan{color:var(--ansi-bright-cyan,#5ff)}.ansi-bright-white{color:var(--ansi-bright-white,#fff)}.phile-wrap{width:calc(var(--text-cell) * 85);position:relative;overflow-x:hidden}.volume-wrap,.phile-wrap{margin-top:var(--text-size)}.phile-header{z-index:2;width:calc(var(--text-cell) * 85);height:calc(var(--text-size) * max(18, 17 + var(--phile-meta-lines)));position:relative}.phile-header-side{top:0;left:calc(var(--text-cell) * 60);position:absolute}.phile-header-meta{top:calc(var(--text-size) * 16);padding-left:calc(var(--text-cell) * 4);position:absolute;left:0}.phile-body-pre,.phile-footer-pre{z-index:2;padding-left:calc(var(--text-cell) * 4);position:relative}.phile-redacted-pre{color:var(--fg)}.phile-media{z-index:2;padding-left:calc(var(--text-cell) * 4);position:relative}.phile-image{margin:calc(var(--text-size) * 1) 0;max-width:calc(var(--text-cell) * 80)}.phile-image img{image-rendering:auto;max-width:100%;height:auto;display:block}.phile-image-trigger{max-width:100%;color:inherit;cursor:zoom-in;font:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.phile-image-trigger:hover,.phile-image-trigger:focus-visible{background:0 0;outline:0}.phile-image figcaption{margin-top:var(--text-size);color:var(--fg);font-family:var(--text-font);font-size:var(--text-size);line-height:1}.cve-wrap{width:calc(var(--text-cell) * 90);margin-top:var(--text-size)}.cve-pre{z-index:2;position:relative}body.image-lightbox-open{touch-action:none;overflow:hidden}body.image-lightbox-open .screen{filter:blur(5px)saturate(.75);transition:filter .12s ease-out}.image-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;color:var(--fg);cursor:zoom-out;overscroll-behavior:contain;touch-action:none;background:0 0;border:0;margin:0;padding:0;overflow:hidden}.image-lightbox::backdrop{backdrop-filter:blur(4px);background:#00000094}.image-lightbox-frame{place-items:center;gap:var(--text-size);width:100%;height:100%;padding:calc(var(--text-size) * 3);box-sizing:border-box;touch-action:none;margin:0;display:grid}.image-lightbox-image{max-width:min(92vw, calc(var(--text-cell) * 140));cursor:grab;object-fit:contain;touch-action:none;transform-origin:50%;user-select:none;will-change:transform;max-height:86vh;display:block}.image-lightbox-image-dragging{cursor:grabbing}.image-lightbox-caption{max-width:min(92vw, calc(var(--text-cell) * 120));color:var(--fg);font-family:var(--text-font);font-size:var(--text-size);text-align:center;line-height:1}.cjk{width:calc(var(--text-cell) * 2);font-family:var(--text-font);font-size:var(--cjk-size);font-synthesis:none;font-variant-ligatures:none;font-kerning:none;font-weight:400;line-height:var(--text-size);text-rendering:optimizespeed;-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;vertical-align:baseline;display:inline-block;position:relative}.cjk-bitmap{--cjk-ink:var(--fg);color:#0000;font-family:var(--text-font)}.cjk-bitmap:before{content:"";background:var(--cjk-ink);pointer-events:none;width:16px;height:16px;mask-image:url(/assets/cjk/wqy-cjk-body.png);-webkit-mask-position:var(--cjk-x) var(--cjk-y);mask-position:var(--cjk-x) var(--cjk-y);position:absolute;top:-1px;left:0;mask-repeat:no-repeat}a .cjk{font-size:var(--cjk-link-size);top:-1px}a .cjk-bitmap{--cjk-ink:var(--link)}a .cjk-bitmap:before{top:-2px;mask-image:url(/assets/cjk/wqy-cjk-link.png)}a:hover .cjk-bitmap,a:focus-visible .cjk-bitmap{--cjk-ink:var(--link-hover)}a:hover .cjk:after,a:focus-visible .cjk:after{content:"";border-bottom:1px solid var(--cjk-ink,currentColor);position:absolute;bottom:-2px;left:0;right:0}@supports not (mask-image:url("")){.cjk-bitmap{color:inherit}.cjk-bitmap:before{display:none}}@media (width<=760px){:root{--mobile-scale:.95}body{padding:8px 0}.screen{text-align:center;overflow-x:hidden}.screen:has(.home-shell){text-align:center;min-height:calc(100vh - 16px)}.textmode-wrap{zoom:min(var(--mobile-scale), var(--fit-scale));max-width:none;overflow-x:visible}.home-shell{zoom:min(var(--mobile-scale), var(--fit-scale));transform:translateY(-6vh)}.home-pre,.phile-wrap{margin-left:0;margin-right:0}.home-pre{padding-left:20px}.ascii-hero:after{display:none}}@media (prefers-reduced-motion:reduce){.ascii-particles{display:none}}@media (width<=700px){:root{--mobile-scale:.86}.image-lightbox-frame{padding:calc(var(--text-size) * 2) calc(var(--text-cell) * 2)}.image-lightbox-image{max-width:calc(100vw - var(--text-cell) * 4);max-height:82vh}}@media (width<=620px){:root{--mobile-scale:.76}}@media (width<=540px){:root{--mobile-scale:.66}}@media (width<=470px){:root{--mobile-scale:.58}}@media (width<=410px){:root{--mobile-scale:.52}}@media (width<=360px){:root{--mobile-scale:.47}}
