@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/jetbrains-mono-latin-800-normal-D2mQHRMK.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-800-normal-Dj9qwObk.woff)format("woff")}:root{--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--gutter:clamp(14px, 3vw, 40px);--pane-tint:color-mix(in srgb, var(--text) 4%, var(--bg))}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);font-family:var(--mono);margin:0;font-size:16px;line-height:1.75}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}kbd{font:inherit;color:var(--accent);margin-right:10px}.app{min-height:100dvh;padding:var(--gutter) var(--gutter) 0;grid-template-rows:auto 1fr auto;gap:18px;display:grid}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 40px;display:flex}.banner{width:calc(clamp(120px, 22vw, 290px) * var(--k,1));max-width:100%;height:auto;fill:var(--accent);min-height:30px;display:block}.banner g{animation:.5s step-end both flicker;animation-delay:calc(var(--i) * .13s)}@keyframes flicker{0%{opacity:0}20%{opacity:1}40%{opacity:.2}60%{opacity:1}80%{opacity:.5}to{opacity:1}}.head-side{text-align:right}.role{color:var(--muted);margin:0 0 6px;line-height:1.5}.avail{color:var(--text);justify-content:flex-end;align-items:center;gap:8px;margin:0;display:flex}.dot{background:var(--ok);width:9px;height:9px;box-shadow:0 0 10px var(--ok);border-radius:50%;margin-right:2px;display:inline-block}.tools{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.tool{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;padding:7px 10px;font-size:12px;line-height:1}.tool:hover{color:var(--accent);border-color:var(--accent)}.panes{grid-template-columns:200px minmax(0,1fr);gap:18px;min-height:0;display:grid}.pane{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--bar));background:var(--pane-tint);min-height:0;padding:30px 32px 26px;position:relative}.pane:focus-within,.view:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));outline:none}.ptitle{background:linear-gradient(to bottom, var(--bg) 50%, var(--pane-tint) 50%);color:var(--accent);padding:0 8px;font-size:13px;position:absolute;top:-.85em;left:14px}.menu ul{margin:0;padding:0;list-style:none;position:relative}.menu button,.plist button{text-align:left;cursor:pointer;width:calc(100% + 20px);color:var(--text);background:0 0;border:0;margin-left:-10px;padding:3px 10px}.menu button:hover,.plist button:hover{color:var(--accent)}.menu button{z-index:1;align-items:center;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.menu button:hover:not([aria-current]){box-shadow:inset 3px 0 0 color-mix(in srgb, var(--accent) 55%, transparent);transform:translate(4px)}.glyph{color:var(--muted);opacity:.8;margin-left:auto}.menu button[aria-current] .glyph{color:var(--ink);opacity:.7}.menu .live-dot{margin-left:8px}.menu button[aria-current] .live-dot{background:var(--text);box-shadow:none}.slide-bar{background:var(--accent);z-index:0;pointer-events:none;transition:top .18s,height .18s,left .18s,width .18s;display:none;position:absolute}.bar-on>.slide-bar,.bar-on .slide-bar{display:block}.menu.bar-on button[aria-current],.plist.bar-on button[aria-current]{background:0 0}.plist{position:relative}.plist button{z-index:1;width:100%;margin-left:0;padding:3px 10px 3px 12px;position:relative}.menu button[aria-current],.plist button[aria-current]{background:var(--accent);color:var(--ink);font-weight:700}.menu button[aria-current] kbd,.plist button[aria-current] kbd{color:var(--ink)}.plist button{transition:transform .12s,box-shadow .12s}.plist button:hover:not([aria-current]){box-shadow:inset 3px 0 0 color-mix(in srgb, var(--accent) 55%, transparent);transform:translate(4px)}.plist kbd{margin-right:8px}.live-dot{vertical-align:middle;width:7px;height:7px;margin:0 0 1px 8px}.plist button[aria-current] .live-dot{background:var(--text);box-shadow:none}.burger,.menu .menu-plain{display:none}.why dt{color:var(--text);font-weight:700}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.card{text-align:left;border:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;gap:8px;width:100%;height:100%;padding:14px 16px;transition:border-color .12s,transform .12s;display:flex}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-name .live-dot{margin-left:8px}.card-name{color:var(--accent);letter-spacing:-.02em;font-size:18px;font-weight:800}.card-line{line-height:1.5}.card .chips{margin-top:auto;padding-top:4px}.card:hover .card-name{text-underline-offset:4px;text-decoration:underline}.all-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.all-head .intro{margin:0;font-size:16px}.viewtoggle{border:1px solid var(--line);flex:none;display:flex}.viewtoggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:7px 11px;font-size:12px;line-height:1}.viewtoggle button+button{border-left:1px solid var(--line)}.viewtoggle button:hover{color:var(--accent)}.viewtoggle button[aria-pressed=true]{background:var(--accent);color:var(--ink);font-weight:700}.cards.list{grid-template-columns:1fr;gap:8px}.cards.list .card{flex-flow:wrap;align-items:baseline;gap:6px 18px;padding:10px 14px}.cards.list .card-name{min-width:110px;font-size:16px}.cards.list .card-line{flex:220px;font-size:14px}.cards.list .chips{margin-top:0;padding-top:0}.cards.list .card:hover{transform:translate(3px)}.v.home,.v.contact,.v.about,.v.now{max-width:none;container-type:inline-size}.hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:8px 56px;display:grid}.hero-text{max-width:58ch}.hero .featured .sub{margin-top:0}.home .why{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 36px;display:grid}.home dl.why div{grid-template-columns:1fr;gap:6px}.home .closing{max-width:74ch}.contact .lead.small{max-width:60ch}.cols{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px 64px;display:grid}.cols .reach{border-bottom:1px dashed var(--line);padding-bottom:22px}@container (width>=860px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}@container (width>=800px){.about-cols{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.about-facts{border-left:1px dashed var(--line);padding-left:44px}.now-cols{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.contact .cols{grid-template-columns:minmax(0,520px) minmax(0,1fr)}.cols .form{grid-area:1/1}.cols .reach{border-bottom:0;border-left:1px dashed var(--line);grid-area:1/2;padding-bottom:0;padding-left:44px}}.reach .sub:first-child{margin-top:0}.reach .online{flex-flow:wrap;align-items:center;gap:12px 22px;margin-bottom:0}.mailrow{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 14px;font-size:17px;display:flex}.mailrow a{color:var(--accent);text-underline-offset:3px;word-break:break-all}.copybtn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;padding:7px 11px;font-size:12px;line-height:1}.copybtn:hover,.copybtn.done{color:var(--accent);border-color:var(--accent)}.online{flex-wrap:wrap;align-items:center;gap:8px 22px;margin:0 0 30px;display:flex}.online .social{flex-wrap:wrap;gap:8px 22px;display:flex}.social{margin:0;padding:0;list-style:none}.social a,.cvlink{color:var(--text);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.social a:hover,.cvlink:hover{color:var(--accent)}.cvlink{text-underline-offset:3px;text-decoration:underline}.shots{gap:12px;margin:4px 0 22px;display:grid}.shots img{border:1px solid var(--line);width:100%;height:auto;display:block}.case{margin:4px 0 22px}.case .sub{margin-top:20px}.choices{margin:0;padding-left:18px}.choices li{margin-bottom:8px}.note{margin-top:6px}.note .sub{margin-top:24px}.updated{color:var(--muted);font-size:13px;margin-top:24px!important}.icons{z-index:3;color:var(--text);background:color-mix(in srgb, var(--text) 15%, var(--bar))}.icons .social{gap:12px;display:flex}.icons a{color:inherit}.icons a:hover{color:var(--accent)}.ascii{font:12px/1 var(--mono);color:var(--accent);white-space:pre;-webkit-user-select:none;user-select:none;margin:0}.v.lost{align-items:center;max-width:none;min-height:100%;display:flex;container-type:inline-size}.lost-grid{align-items:center;gap:28px 56px;width:100%;display:grid}.lost .ascii{justify-self:center;font-size:2cqw}.lost-text{max-width:38ch}@container (width>=900px){.lost-grid{grid-template-columns:auto auto;justify-content:center;gap:28px 72px}.lost .ascii{font-size:min(1.25cqw,2.1vh)}}.donut-overlay{z-index:60;background:color-mix(in srgb, var(--bg) 97%, transparent);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.donut-overlay .ascii{font-size:min(1.3vw,2.3vh)}.donut-hint{color:var(--muted);margin:0;font-size:13px}@media (width<=899px){.donut-overlay .ascii{font-size:2.1vw}}.seg.mode{transition:background .2s,color .2s}.seg.mode.on{background:var(--accent);color:var(--ink)}body[data-egg] .banner{animation:1.8s linear infinite rainbow}@keyframes rainbow{to{filter:hue-rotate(360deg)}}.view{flex-direction:column;display:flex}.scroll{flex:1;min-height:0;overflow:auto}.v{animation:.35s steps(14,end) both reveal}@keyframes reveal{0%{clip-path:inset(0 0 100%);opacity:.4}to{clip-path:inset(0);opacity:1}}.v{max-width:74ch}.v p{margin:0 0 18px}.intro{font-size:18px;line-height:1.7}.closing{font-size:18px;line-height:1.7;margin-top:28px!important}.sub{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:34px 0 10px;font-size:14px;font-weight:700}.lead.small{letter-spacing:0;font-size:20px;line-height:1.4}.about-text{max-width:58ch}.photo{object-fit:cover;border:1px solid var(--line);width:160px;height:160px;margin-bottom:24px;display:block}.plain-h{display:none}.lead{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(22px,2.8vw,36px);font-weight:800;line-height:1.15;margin-bottom:22px!important}.go{flex-wrap:wrap;gap:12px;display:flex;margin-top:40px!important}.btn{border:1px solid var(--line);cursor:pointer;background:0 0;padding:10px 18px;font-size:14px;font-weight:500}.btn.solid{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:700}.btn.solid:hover{filter:brightness(1.12)}.btn.ghost{color:var(--muted);text-underline-offset:4px;border-color:#0000;text-decoration:underline}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.c{color:var(--muted)}.code{margin-bottom:20px!important}.kv{margin:0}.kv div{border-top:1px dashed var(--line);grid-template-columns:110px 1fr;gap:18px;padding:9px 0;display:grid}.kv.wide div{grid-template-columns:170px 1fr}.kv dt{color:var(--accent)}.kv dd{color:var(--text);margin:0}.v.master{max-width:none}.split{grid-template-columns:200px minmax(0,1fr);gap:32px;display:grid}.plist{border-right:1px dashed var(--line);margin:0;padding:0 30px 0 0;list-style:none}.pdetails{max-width:62ch}.pdetails .kv.wide div{grid-template-columns:130px 1fr}@media (width>=641px){body:not([data-mode=plain]) .scroll:has(.master){overflow:hidden}body:not([data-mode=plain]) .v.master{height:100%}body:not([data-mode=plain]) .split{height:100%;min-height:0}body:not([data-mode=plain]) .pdetails{max-width:none;min-height:0;padding-right:18px;overflow:auto}body:not([data-mode=plain]) .pdetails article{max-width:62ch}}*{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.pdetails article h3{letter-spacing:-.03em;color:var(--accent);margin:0;font-size:clamp(24px,2.8vw,36px);font-weight:800;line-height:1.1}.kind{font-weight:500;margin:6px 0 18px!important}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips>*{border:1px solid var(--line);color:var(--muted);padding:5px 9px;font-size:12px;line-height:1}.form{gap:16px;max-width:520px;display:grid}.form label{color:var(--accent);gap:6px;font-size:13px;display:grid}.form input,.form textarea{font:15px var(--mono);border:1px solid var(--line);background:var(--bg);color:var(--text);resize:vertical;border-radius:0;padding:11px 12px}.form input:focus,.form textarea:focus{border-color:var(--accent);outline:none}.form button{justify-self:start}.form-note{color:var(--muted);font-size:13px;margin:0!important}.status{--arrow:12px;--gap:12px;margin:0 calc(var(--gutter) * -1);background:var(--bar);align-items:stretch;height:32px;font-size:13px;line-height:1;display:flex;position:sticky;bottom:0;overflow:hidden}.seg{white-space:nowrap;align-items:center;display:flex;position:relative}.seg:not(.r){clip-path:polygon(0 0, calc(100% - var(--arrow)) 0, 100% 50%, calc(100% - var(--arrow)) 100%, 0 100%);margin-right:calc(var(--arrow) * -1);padding:0 calc(var(--arrow) + var(--gap)) 0 14px}.seg.r{clip-path:polygon(var(--arrow) 0, 100% 0, 100% 100%, var(--arrow) 100%, 0 50%);margin-left:calc(var(--arrow) * -1);padding:0 calc(var(--arrow) + var(--gap)) 0 calc(var(--arrow) + var(--gap))}.mode{z-index:3;color:var(--accent);background:color-mix(in srgb, var(--accent) 22%, var(--bar));letter-spacing:.04em;font-weight:700}.seg.here{z-index:2;color:var(--text);background:color-mix(in srgb, var(--text) 9%, var(--bar));padding-left:calc(var(--arrow) + var(--gap));font-weight:700}.dim{color:var(--muted);font-weight:400}.grow{flex:1}.load{z-index:1;color:var(--muted);background:color-mix(in srgb, var(--text) 5%, var(--bar))}.clock{z-index:2;color:var(--text);background:color-mix(in srgb, var(--text) 9%, var(--bar))}.seg.end{z-index:4;color:var(--accent);background:color-mix(in srgb, var(--accent) 22%, var(--bar));padding-right:var(--gutter)}.boot{z-index:50;background:var(--bg);color:var(--text);padding:var(--gutter);font-size:14px;line-height:1.9;transition:opacity .3s;position:fixed;inset:0;overflow:hidden}.boot.out{opacity:0}.boot .ok{color:var(--ok)}.boot .skip{left:var(--gutter);bottom:var(--gutter);color:var(--muted);font-size:13px;position:absolute}@media (width>=900px) and (height>=700px){.app{height:100dvh;min-height:0}}@media (prefers-reduced-motion:reduce){.plist button,.menu button,.slide-bar,.card{transition:none}.plist button:hover,.menu button:hover{transform:none!important}.banner g,.v,.boot{transition:none}}@media (width<=899px){.panes{grid-template-columns:1fr;gap:18px}.head{justify-content:space-between;align-items:center;gap:10px 16px}.banner{width:min(240px,100% - 60px)}.head-side{text-align:left;flex-basis:100%;order:3}.tools{display:none}.burger{border:1px solid var(--line);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.burger span,.burger span:before,.burger span:after{background:var(--accent);content:"";width:20px;height:2px;display:block;position:relative}.burger span:before{position:absolute;top:-6px}.burger span:after{position:absolute;top:6px}.menu{padding:22px 16px 14px;display:none}.menu.open{display:block}.menu ul{flex-direction:column;gap:2px;display:flex}.menu button{padding:8px 10px}.menu .menu-plain{border:0;border-top:1px dashed var(--line);text-align:left;width:100%;color:var(--muted);cursor:pointer;background:0 0;margin-top:12px;margin-left:0;padding:8px 0;display:block}.menu .menu-lang{border-top:0;margin-top:0}.pane{padding:28px 18px 22px}.view{min-height:380px}.avail{justify-content:flex-start}.role{display:none}}@media (width<=640px){.split{grid-template-columns:1fr;gap:20px}.plist{border-right:0;border-bottom:1px dashed var(--line);flex-wrap:wrap;gap:4px 6px;padding-bottom:14px;padding-right:0;display:flex}.plist button{width:auto;margin:0;padding:3px 14px}.kv div,.kv.wide div{grid-template-columns:1fr;gap:0}.load,.clock,.dim{display:none}.seg.end{padding-right:12px}}body[data-mode=plain],body[data-mode=plain] *{font-family:system-ui,-apple-system,Segoe UI,sans-serif}body[data-mode=plain]{font-size:17px;line-height:1.65}body[data-mode=plain] .app{max-width:760px;height:auto;min-height:0;margin:0 auto;padding:28px 20px 60px;display:block}body[data-mode=plain] .head{border-bottom:1px solid var(--line);margin-bottom:36px;padding-bottom:20px}body[data-mode=plain] .banner{width:120px}body[data-mode=plain] .banner g{animation:none}body[data-mode=plain] .menu,body[data-mode=plain] .status,body[data-mode=plain] .ptitle,body[data-mode=plain] .plist,body[data-mode=plain] .donut-overlay,body[data-mode=plain] .featured,body[data-mode=plain] .copybtn,body[data-mode=plain] .go{display:none}body[data-mode=plain] .panes{display:block}body[data-mode=plain] .pane{background:0 0;border:0;padding:0}body[data-mode=plain] .scroll{overflow:visible}body[data-mode=plain] .v{max-width:none;margin-bottom:56px;animation:none!important}body[data-mode=plain] .plain-h{letter-spacing:-.01em;margin:0 0 18px;font-size:28px;line-height:1.2;display:block}body[data-mode=plain] .split{display:block}body[data-mode=plain] .pdetails{max-width:none}body[data-mode=plain] .pdetails article,body[data-mode=plain] .pdetails .group{margin-bottom:34px}body[data-mode=plain] .pdetails article h3{letter-spacing:0;color:var(--text);font-size:22px}body[data-mode=plain] .code{display:none}body[data-mode=plain] .lead{letter-spacing:-.01em;font-size:30px}body[data-mode=plain] .kv div,body[data-mode=plain] .kv.wide div{grid-template-columns:150px 1fr}body[data-mode=plain] .form{max-width:none}body[data-mode=plain] .tool,body[data-mode=plain] .btn{font-size:14px}@media (width<=640px){body[data-mode=plain] .kv div,body[data-mode=plain] .kv.wide div{grid-template-columns:1fr}}.plink{margin:18px 0 0!important}.plink a{color:var(--accent);text-underline-offset:3px}.plink a:hover{filter:brightness(1.15)}body[data-mode=plain] .burger{display:none}body[data-mode=plain] .tools{display:flex}body[data-mode=plain] .head{flex-wrap:wrap}body[data-mode=plain] .intro{font-size:inherit}body[data-mode=plain] .hero,body[data-mode=plain] .cols{display:block}body[data-mode=plain] .cols .reach{border:0;margin-bottom:24px;padding:0}body[data-mode=plain] .home .why{display:block}
