:root{--u: 8px;--ease: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;scroll-behavior:smooth}body{background:var(--paper);color:var(--body);font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.62;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}em{font-family:Newsreader,Georgia,serif;font-style:italic;font-size:calc(1em + 1px)}::-moz-selection{background:var(--mark);color:var(--paper)}::selection{background:var(--mark);color:var(--paper)}.mono{font-family:IBM Plex Mono,monospace}kbd{font-family:IBM Plex Mono,monospace;background:var(--wash);border:1px solid var(--rule);border-radius:3px;padding:1px 5px;font-size:10px;color:var(--body)}.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--mark);z-index:15;transition:width .1s linear;opacity:.85}@media (prefers-reduced-motion: reduce){.progress{transition:none}}.main{max-width:660px;margin:0 auto;padding:calc(var(--u) * 8) calc(var(--u) * 3) calc(var(--u) * 10);min-width:0}[data-a]{--s: 0;animation:enter .5s both;animation-delay:calc(var(--s) * 60ms)}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion: reduce){[data-a]{animation:none}}h1{font-size:clamp(2.9rem,8.5vw,5.2rem);line-height:.94;font-weight:600;letter-spacing:-.042em;color:var(--ink)}.role{font-family:IBM Plex Mono,monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mark);margin-top:calc(var(--u) * 2)}.lede{font-size:clamp(1.1rem,2.2vw,1.3rem);color:var(--ink);max-width:36ch;margin-top:calc(var(--u) * 2.5);font-weight:450;letter-spacing:-.013em;line-height:1.44}.sub{margin-top:calc(var(--u) * 2);color:var(--body);max-width:58ch}.sub b{color:var(--ink);font-weight:500}.avail{margin-top:calc(var(--u) * 3.5);font-family:IBM Plex Mono,monospace;font-size:11.5px;letter-spacing:.07em;color:var(--ink);display:inline-flex;align-items:center;gap:9px}.avail i{width:6px;height:6px;border-radius:50%;background:var(--dot);flex:none;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.avail i{animation:none}}.snav{position:fixed;top:0;left:0;right:0;z-index:12;border-bottom:1px solid transparent;transition:background .25s var(--ease),border-color .25s var(--ease)}.snav.stuck{background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom-color:var(--rule)}.snav-bar{max-width:660px;margin:0 auto;padding:10px calc(var(--u) * 3);display:flex;align-items:center;gap:14px}.snav-inner{display:flex;gap:18px;align-items:center;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none}.snav-inner::-webkit-scrollbar{display:none}.snav-link{font:inherit;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--meta);background:none;border:none;padding:2px 0;cursor:pointer;white-space:nowrap;flex:none;display:inline-flex;align-items:baseline;gap:6px;transition:color .18s var(--ease)}.snav-link:hover{color:var(--ink)}.snav-link.active{color:var(--mark)}.snav-theme{position:relative;flex:none}.snav-theme .gear{position:static;z-index:auto}.snav-theme .panel{position:absolute;top:calc(100% + 8px);right:0}@media (max-width: 560px){.snav-bar{gap:10px;padding:8px calc(var(--u) * 2)}.snav-inner{gap:14px}}@media print{.snav{display:none!important}}section{margin-top:calc(var(--u) * 9)}section[id],footer[id]{scroll-margin-top:calc(var(--u) * 8)}section:first-of-type{margin-top:calc(var(--u) * 7)}.shead{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--meta);font-weight:400;padding-bottom:calc(var(--u) * 1.25);border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline}.shead b{font-weight:400;color:var(--mark)}.blist{margin-top:calc(var(--u) * 3);transition:opacity .15s}.pcard{display:flex;gap:calc(var(--u) * 2.5);padding:calc(var(--u) * 2.5) 0 calc(var(--u) * 1.75);border-bottom:1px dashed var(--rule);align-items:flex-start;position:relative;transition:opacity .22s var(--ease)}.pcard:last-of-type{border-bottom:none}.pthumb{width:64px;height:64px;border-radius:4px;flex:none;background:var(--wash);border:1px solid var(--rule);position:relative;overflow:hidden;transition:border-color .2s}.pthumb span{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--mark) 0%,transparent 60%),linear-gradient(225deg,var(--rule) 0%,transparent 50%);opacity:.2;transition:opacity .25s}.pthumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.pcard:hover .pthumb span{opacity:.35}.pcard:hover .pthumb{border-color:var(--mark)}.pbody{min-width:0;flex:1}.pdate{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em;color:var(--meta)}.ptitle{font-size:1.08rem;font-weight:600;color:var(--ink);letter-spacing:-.022em;line-height:1.25;margin-top:4px;display:inline-block;position:relative}.ptitle:after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:0;background:var(--mark);transition:width .3s var(--ease)}.pcard:hover .ptitle:after{width:100%}.pex{color:var(--body);font-size:13.5px;margin-top:5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ptags{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}.ptags .t{font-family:IBM Plex Mono,monospace;font-size:10px;line-height:1;letter-spacing:.05em;color:var(--mark);opacity:.7}.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--u) * 2) calc(var(--u) * 3)}.pgrid .pcard{border-bottom:none;padding:0;gap:calc(var(--u) * 1.5)}.pgrid .pthumb{width:52px;height:52px}.pgrid .ptitle{font-size:.98rem}.pgrid .pex{font-size:12.5px;-webkit-line-clamp:2}@media (max-width: 560px){.pgrid{grid-template-columns:minmax(0,1fr)}}.allposts{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--meta);margin-top:calc(var(--u) * 2.5);display:inline-block}.allposts:hover{color:var(--mark)}.list:hover>*{opacity:.42}.list:hover>*:hover{opacity:1}.blist:hover>.pcard{opacity:.42}.blist:hover>.pcard:hover{opacity:1}@media (hover: none){.list:hover>*{opacity:1}.blist:hover>.pcard{opacity:1}}.item{display:grid;grid-template-columns:20px 1fr;gap:calc(var(--u) * 2);padding:calc(var(--u) * 2.5) 0;border-bottom:1px dashed var(--rule);transition:opacity .22s var(--ease);position:relative}.item .mk{width:8px;height:8px;border-radius:2px;background:var(--mark);opacity:.25;flex:none;transform:translateY(4px);transition:opacity .2s}.item:hover .mk{opacity:.7}.ibody{min-width:0}.iname{font-size:1.4rem;font-weight:600;color:var(--ink);letter-spacing:-.026em;line-height:1.15;display:inline-block;position:relative}.iname:after{content:"";position:absolute;left:0;bottom:-3px;height:1.5px;width:0;background:var(--mark);transition:width .3s var(--ease)}.item:hover .iname:after{width:100%}.imeta{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em;color:var(--meta);margin-top:5px;display:flex;gap:12px;flex-wrap:wrap}.imeta .yr{color:var(--mark);opacity:.7}.idesc{margin-top:8px;max-width:55ch;color:var(--body);font-size:15px}.idesc p+p{margin-top:8px}.copybtn{position:absolute;top:calc(var(--u) * 2.5);right:0;width:22px;height:22px;display:grid;place-items:center;color:var(--meta);background:none;border:none;border-radius:3px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.copybtn svg{width:12px;height:12px}.item:hover .copybtn{opacity:.5}.copybtn:hover{opacity:1!important;color:var(--mark)}.about-block{margin-top:calc(var(--u) * 4);padding-top:calc(var(--u) * 2);border-top:1px dashed var(--rule)}.about-block p{color:var(--body);max-width:57ch;font-size:15px;line-height:1.65}.about-block p+p{margin-top:calc(var(--u) * 1.75)}.about-block p b{color:var(--ink);font-weight:500}.about-block em{font-size:1em}.ew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:calc(var(--u) * 2);margin-top:calc(var(--u) * 2)}.wr{display:block;padding:calc(var(--u) * 2);border:1px solid var(--rule);border-radius:4px;font-size:14px;transition:border-color .2s,background .2s}.wr:hover{border-color:var(--mark);background:var(--wash)}.wr span:first-child{color:var(--body);display:block;margin-bottom:4px}.wr:hover span:first-child{color:var(--mark)}.wr time{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--meta)}footer{margin-top:calc(var(--u) * 9);padding-top:calc(var(--u) * 3);border-top:1px solid var(--ink)}.fid{display:flex;align-items:flex-start;gap:calc(var(--u) * 2.5)}.fid-main{min-width:0}.av{width:56px;height:56px;border-radius:50%;flex:none;-o-object-fit:cover;object-fit:cover;display:block;background-image:radial-gradient(circle at 35% 30%,var(--mark) 0%,transparent 70%);border:1px solid var(--rule);opacity:.85}.hand{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--meta);margin-top:calc(var(--u) * 1.5)}.mail{font-size:clamp(1.4rem,4.4vw,2.1rem);font-weight:600;color:var(--ink);letter-spacing:-.032em;cursor:pointer;display:inline-block;line-height:1.15;border-bottom:2px solid var(--mark)}.soc{display:flex;gap:20px;margin-top:calc(var(--u) * 2);flex-wrap:wrap;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.soc a{color:var(--meta)}.soc a:hover{color:var(--mark)}.status{margin-top:calc(var(--u) * 4);padding-top:calc(var(--u) * 2);border-top:1px dashed var(--rule);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em;color:var(--meta);display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.status .s-item{display:inline-flex;align-items:center;gap:6px}.status .s-dot{width:5px;height:5px;border-radius:50%;background:var(--dot);flex:none;animation:pulse 2.4s ease-in-out infinite}.status .s-item b{color:var(--ink);font-weight:500}.status .s-gh{color:var(--mark);opacity:.8}@media (prefers-reduced-motion: reduce){.status .s-dot{animation:none}}.gear{position:fixed;top:14px;right:14px;width:28px;height:28px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);cursor:pointer;display:grid;place-items:center;color:var(--meta);transition:color .2s,border-color .2s;z-index:10}.gear:hover{color:var(--ink);border-color:var(--meta)}.gear svg{width:14px;height:14px}.panel{position:fixed;top:50px;right:14px;background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:10px 12px;z-index:10;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease)}.panel.open{opacity:1;transform:translateY(0);pointer-events:auto}.prow{display:flex;align-items:center;gap:6px;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--meta)}.prow+.prow{margin-top:7px}.prow span{width:44px}.prow button{font:inherit;background:none;color:var(--meta);cursor:pointer;border:1px solid var(--rule);border-radius:3px;padding:2px 5px}.prow button:hover{color:var(--ink)}.prow button.active{color:var(--mark);border-color:var(--mark)}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .15s;z-index:20}.palette-overlay.open{opacity:1;pointer-events:auto}.palette{position:fixed;top:18vh;left:50%;transform:translate(-50%) translateY(-8px);width:min(560px,92vw);background:var(--paper);border:1px solid var(--rule);border-radius:8px;box-shadow:0 12px 40px #0000002e;opacity:0;pointer-events:none;transition:opacity .15s var(--ease),transform .15s var(--ease);z-index:21;overflow:hidden}.palette.open{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.palette input{width:100%;background:none;border:none;outline:none;font-family:IBM Plex Sans,sans-serif;font-size:16px;color:var(--ink);padding:16px 20px;border-bottom:1px solid var(--rule)}.palette input::-moz-placeholder{color:var(--meta)}.palette input::placeholder{color:var(--meta)}.presults{max-height:400px;overflow-y:auto;padding:6px 0}.pitem{display:flex;align-items:baseline;gap:12px;padding:10px 20px;cursor:pointer;transition:background .1s}.pitem.active{background:var(--wash)}.pitem .pkind{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--meta);width:56px;flex:none}.pitem.active .pkind{color:var(--mark)}.pitem .pttl{color:var(--ink);font-size:14px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pitem .psub{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--meta);flex:none;white-space:nowrap}.pempty{padding:24px 20px;color:var(--meta);font-family:IBM Plex Mono,monospace;font-size:12px}.pfoot{display:flex;justify-content:space-between;align-items:center;padding:8px 20px;border-top:1px solid var(--rule);font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--meta)}.pfoot kbd{font-family:inherit;background:var(--wash);border:1px solid var(--rule);border-radius:3px;padding:1px 5px;font-size:10px;margin:0 2px}.pfoot .phint{display:flex;gap:12px}@media (max-width: 560px){.pfoot .phint{display:none}.palette{top:10vh}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--ink);color:var(--paper);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.07em;padding:8px 16px;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:30}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.rr-modal{position:fixed;z-index:40;background:var(--paper);border:1px solid var(--rule);border-radius:8px;box-shadow:0 16px 60px #0000004d;transition:top .3s var(--ease),left .3s var(--ease);overflow:hidden}.rr-titlebar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--wash);border-bottom:1px solid var(--rule);font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--meta);cursor:default}.rr-close{background:none;border:1px solid var(--rule);border-radius:3px;width:20px;height:20px;cursor:pointer;color:var(--meta);display:grid;place-items:center;font-size:12px;transition:color .15s,border-color .15s}.rr-close:hover{color:var(--ink);border-color:var(--meta)}.rr-body{aspect-ratio:16 / 9}.rr-body iframe{width:100%;height:100%;border:none;display:block}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u) * 3);margin-top:calc(var(--u) * 3)}@media (max-width: 560px){.blog-grid{grid-template-columns:1fr}}.blog-search{width:100%;background:none;border:1px solid var(--rule);border-radius:6px;outline:none;font-family:IBM Plex Sans,sans-serif;font-size:15px;color:var(--ink);padding:10px 14px;margin-top:calc(var(--u) * 2)}.blog-search::-moz-placeholder{color:var(--meta)}.blog-search::placeholder{color:var(--meta)}.blog-search:focus{border-color:var(--mark)}.tag-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:calc(var(--u) * 2)}.tag-chips button{font:inherit;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;background:none;color:var(--meta);border:1px solid var(--rule);border-radius:3px;padding:3px 8px;cursor:pointer;transition:color .15s,border-color .15s}.tag-chips button:hover{color:var(--ink)}.tag-chips button.active{color:var(--mark);border-color:var(--mark)}.post-wrap{max-width:660px;margin:0 auto;padding:calc(var(--u) * 8) calc(var(--u) * 3) calc(var(--u) * 10);min-width:0}.post-back{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--meta)}.post-back:hover{color:var(--mark)}.post-h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;font-weight:600;letter-spacing:-.03em;color:var(--ink);margin-top:calc(var(--u) * 3)}.post-lede{font-size:1.15rem;color:var(--ink);margin-top:calc(var(--u) * 2);font-weight:450;max-width:52ch}.post-meta{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em;color:var(--meta);margin-top:calc(var(--u) * 2);display:flex;gap:12px;flex-wrap:wrap}.post-meta .sep{opacity:.5}.post-body{margin-top:calc(var(--u) * 5)}.post-body h2{font-size:1.3rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;margin-top:calc(var(--u) * 5);margin-bottom:calc(var(--u) * 1.5)}.post-body h2:first-child{margin-top:0}.post-body p{color:var(--body);font-size:16px;line-height:1.7;max-width:62ch}.post-body p+p{margin-top:calc(var(--u) * 2)}.post-body ul,.post-body ol{margin:calc(var(--u) * 2) 0;padding-left:1.5em;color:var(--body)}.post-body li+li{margin-top:4px}.post-body code{font-family:IBM Plex Mono,monospace;font-size:13px;background:var(--wash);padding:1px 5px;border-radius:3px}.post-body pre{background:var(--wash);border:1px solid var(--rule);border-radius:6px;padding:14px 16px;overflow-x:auto;margin:calc(var(--u) * 3) 0}.post-body pre code{background:none;padding:0;font-size:13px;line-height:1.5}.post-body blockquote{border-left:3px solid var(--mark);padding:8px 16px;margin:calc(var(--u) * 3) 0;color:var(--ink);font-size:1.05rem}.post-body a{color:var(--mark);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:2px}.post-body a:hover{text-decoration-color:var(--mark)}.toc{position:fixed;top:calc(var(--u) * 12);width:150px;left:calc(50% - 504px)}.toc a{display:block;font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--meta);padding:3px 0;transition:color .15s}.toc a:hover{color:var(--ink)}.toc a.active{color:var(--mark)}.post-layout{max-width:660px;margin:0 auto;padding:calc(var(--u) * 8) calc(var(--u) * 3) calc(var(--u) * 10);min-width:0}@media (max-width: 1060px){.toc{display:none}}.resume-wrap{margin-top:calc(var(--u) * 2)}.resume-header{margin-top:calc(var(--u) * 5)}.resume-name{font-size:clamp(2.4rem,7vw,4rem);line-height:.98;font-weight:600;letter-spacing:-.04em;color:var(--ink)}.resume-title{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--ink);max-width:58ch;margin-top:calc(var(--u) * 2);font-weight:450;line-height:1.45}.resume-summary{font-size:1rem;color:var(--meta);max-width:68ch;margin-top:calc(var(--u) * 1.5);line-height:1.6}.resume-contact{margin-top:calc(var(--u) * 2.5);font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--meta);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.resume-contact a{color:var(--mark);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:2px}.resume-contact a:hover{text-decoration-color:var(--mark)}.resume-list{margin-top:calc(var(--u) * 3)}.resume-job{padding:calc(var(--u) * 3) 0;border-bottom:1px dashed var(--rule)}.resume-job:last-of-type{border-bottom:none}.resume-job-head{margin-bottom:calc(var(--u) * 1.5)}.resume-job-title{font-size:1.35rem;font-weight:600;color:var(--ink);letter-spacing:-.022em;line-height:1.15}.resume-job-role{font-size:1.05rem;color:var(--body);margin-top:4px}.resume-job-meta{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--meta);margin-top:6px}.resume-bullets{padding-left:1.25em;color:var(--body)}.resume-bullets li+li{margin-top:6px}.resume-bullets li::marker{color:var(--mark)}.resume-skills{margin-top:calc(var(--u) * 3)}.resume-skill-group{display:grid;grid-template-columns:120px 1fr;gap:calc(var(--u) * 2);padding:calc(var(--u) * 2) 0;border-bottom:1px dashed var(--rule)}.resume-skill-group:last-of-type{border-bottom:none}.resume-skill-label{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--meta)}.resume-skill-items{color:var(--body);line-height:1.55}.resume-skill-sep{margin-right:4px;color:var(--meta)}@media (max-width: 560px){.resume-skill-group{grid-template-columns:1fr;gap:calc(var(--u) * .5)}}@media print{.gear,.panel,.palette-overlay,.palette,.status,.progress,.rr-modal,.learn-more-btn{display:none!important}.main{padding:0;max-width:none}.resume-wrap{margin-top:0}.resume-header{margin-top:0;page-break-inside:avoid}.resume-job,.resume-skill-group{page-break-inside:avoid}body{background:var(--paper);color:var(--body)}a{text-decoration:none;color:var(--body)}a[href]:after{content:" (" attr(href) ")";font-size:10px;color:var(--meta);word-break:break-all}a[href^=tel]:after,a[href^=mailto]:after{content:none}}:root[data-theme=terminal]{--paper: #0a0e0a;--ink: #33ff66;--body: #22cc44;--meta: #1a8833;--rule: #1a2a1a;--wash: #0f1a0f;--dot: #33ff66;--mark: #33ff66}:root[data-theme=terminal] body{font-family:IBM Plex Mono,monospace;text-shadow:0 0 8px rgba(51,255,102,.25)}:root[data-theme=terminal] h1,:root[data-theme=terminal] .iname,:root[data-theme=terminal] .ptitle,:root[data-theme=terminal] .mail{font-family:IBM Plex Mono,monospace;text-shadow:0 0 8px rgba(51,255,102,.25)}:root[data-theme=terminal] em{font-family:IBM Plex Mono,monospace;font-style:normal}:root[data-theme=terminal] .quote{font-family:IBM Plex Mono,monospace;font-style:normal;text-shadow:0 0 8px rgba(51,255,102,.25)}:root[data-theme=terminal] .av{background-image:radial-gradient(circle at 35% 30%,#33ff66 0%,transparent 70%);border-color:#1a2a1a}:root[data-theme=terminal] .shead{border-bottom-color:#3f6}:root[data-theme=terminal] footer{border-top-color:#3f6}:root[data-theme=terminal] .snav.stuck{background:#0a0e0ae6;border-bottom-color:#1a2a1a}:root[data-theme=terminal] .snav-link{font-family:IBM Plex Mono,monospace;color:#1a8833;text-shadow:0 0 8px rgba(51,255,102,.2)}:root[data-theme=terminal] .snav-link:before{content:"[";opacity:.5;margin-right:-3px}:root[data-theme=terminal] .snav-link:after{content:"]";opacity:.5;margin-left:-3px}:root[data-theme=terminal] .snav-link:hover{color:#3f6}:root[data-theme=terminal] .snav-link.active{color:#3f6;text-shadow:0 0 10px rgba(51,255,102,.5)}:root[data-theme=win95]{--paper: #c0c0c0;--ink: #000;--body: #000;--meta: #404040;--rule: #808080;--wash: #d4d0c8;--dot: #000080;--mark: #000080;--w95-out: 2px outset #d4d0c8;--w95-in: 2px inset #808080}:root[data-theme=win95] body{font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif!important;font-size:15px;line-height:1.5}:root[data-theme=win95] h1,:root[data-theme=win95] .iname,:root[data-theme=win95] .ptitle,:root[data-theme=win95] .htitle{font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-weight:700}:root[data-theme=win95] em{font-family:Times New Roman,serif;font-style:italic;font-size:1em}:root[data-theme=win95] .mono,:root[data-theme=win95] .hand,:root[data-theme=win95] .role,:root[data-theme=win95] .shead,:root[data-theme=win95] .pdate,:root[data-theme=win95] .imeta,:root[data-theme=win95] .pmeta,:root[data-theme=win95] .avail,:root[data-theme=win95] .soc,:root[data-theme=win95] .status,:root[data-theme=win95] .allposts{font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif}:root[data-theme=win95] .shead{border-bottom:2px solid #808080;text-transform:none;letter-spacing:0;font-size:13px}:root[data-theme=win95] .shead b{color:navy}:root[data-theme=win95] .av{border:2px solid #fff;outline:1px solid #808080;border-radius:0;background-image:linear-gradient(135deg,navy 50%,#fff 50%)!important}:root[data-theme=win95] .pcard{border-bottom:1px solid #808080}:root[data-theme=win95] .pthumb{border:var(--w95-out);border-radius:0;background:linear-gradient(135deg,navy,silver)}:root[data-theme=win95] .pthumb span{display:none}:root[data-theme=win95] .item{border-bottom:1px solid #808080}:root[data-theme=win95] .mk{background:navy!important;border-radius:0}:root[data-theme=win95] .quote{font-family:Times New Roman,serif;font-style:italic;border-left:4px solid #000080;background:#d4d0c8;padding:12px 16px;border:var(--w95-out)}:root[data-theme=win95] footer{border-top:2px solid #808080}:root[data-theme=win95] .mail{border-bottom:2px solid #000080;color:navy}:root[data-theme=win95] .mail:hover{text-decoration:underline}:root[data-theme=win95] .avail i{background:navy}:root[data-theme=win95] .status .s-dot{background:navy}:root[data-theme=win95] .status .s-gh{color:navy}:root[data-theme=win95] .ptags .t{color:navy}:root[data-theme=win95] .imeta .yr{color:navy}:root[data-theme=win95] .gear{border:var(--w95-out);border-radius:0;background:silver}:root[data-theme=win95] .panel{border:var(--w95-out);border-radius:0;background:silver;padding:4px}:root[data-theme=win95] .prow button{border:var(--w95-out);border-radius:0;background:silver;font-family:"MS Sans Serif",sans-serif}:root[data-theme=win95] .prow button:hover{color:#000}:root[data-theme=win95] .prow button:active{border:var(--w95-in)}:root[data-theme=win95] .palette{border:var(--w95-out);border-radius:0;box-shadow:4px 4px #404040}:root[data-theme=win95] .palette input{border:var(--w95-in);font-family:"MS Sans Serif",sans-serif!important;background:#fff}:root[data-theme=win95] .pitem.active{background:navy}:root[data-theme=win95] .pitem.active .pttl{color:#fff}:root[data-theme=win95] .pitem.active .pkind{color:#fff}:root[data-theme=win95] .pitem.active .psub{color:#d4d0c8}:root[data-theme=win95] .toast{border:var(--w95-out);border-radius:0;background:silver;color:#000}:root[data-theme=win95] .progress{background:navy}:root[data-theme=win95] a{color:navy}:root[data-theme=win95] a:hover{text-decoration:underline}:root[data-theme=win95] ::-moz-selection{background:navy;color:#fff}:root[data-theme=win95] ::selection{background:navy;color:#fff}:root[data-theme=win95] .copybtn{border:var(--w95-out);background:silver;border-radius:0}:root[data-theme=win95] .blog-search{border:var(--w95-in);font-family:"MS Sans Serif",sans-serif!important;background:#fff;border-radius:0}:root[data-theme=win95] .tag-chips button{border:var(--w95-out);border-radius:0;background:silver}:root[data-theme=win95] .tag-chips button.active{color:navy;border-color:navy}:root[data-theme=win95] .post-back{color:navy}:root[data-theme=win95] .post-body a{color:navy}:root[data-theme=win95] .post-body pre{border:var(--w95-out);border-radius:0}:root[data-theme=win95] .post-body code{background:#d4d0c8;border-radius:0}:root[data-theme=win95] .post-body blockquote{border-left:4px solid #000080;background:#d4d0c8}:root[data-theme=win95] .toc a.active{color:navy}:root[data-theme=win95] .toc a:hover{color:#000}:root[data-theme=win95] .rr-modal{border:var(--w95-out);border-radius:0;box-shadow:4px 4px #404040}:root[data-theme=win95] .rr-titlebar{background:navy;color:#fff;border-bottom:1px solid #808080}:root[data-theme=win95] .rr-close{border:var(--w95-out);background:silver;color:#000;border-radius:0}:root[data-theme=win95] .snav{background:silver;border-bottom:1px solid #808080;box-shadow:0 1px #fff inset}:root[data-theme=win95] .snav.stuck{background:silver;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:gray;box-shadow:0 1px #fff inset,0 2px #dfdfdf}:root[data-theme=win95] .snav-bar{padding:3px calc(var(--u) * 3)}:root[data-theme=win95] .snav-inner{gap:2px}:root[data-theme=win95] .snav-inner>:first-child{margin-left:-10px}:root[data-theme=win95] .snav-link{font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:13px;letter-spacing:0;text-transform:none;color:#000;border:2px solid transparent;padding:2px 8px}:root[data-theme=win95] .snav-link:hover{color:#fff;background:navy}:root[data-theme=win95] .snav-link.active{color:#fff;background:navy}:root[data-theme=win95] .snav-link:active{border:var(--w95-in)}:root[data-theme=win95] .pgrid .pcard{padding-bottom:calc(var(--u) * 2)}:root[data-theme=macos]{--paper: #e6e6e6;--ink: #000;--body: #333;--meta: #666;--rule: #bbb;--wash: #f5f5f5;--dot: #000080;--mark: #000080}:root[data-theme=macos] body{font-family:Geneva,Verdana,sans-serif;font-size:15px;line-height:1.55;background-image:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.015) 1px,rgba(0,0,0,.015) 2px)}:root[data-theme=macos] h1,:root[data-theme=macos] .iname,:root[data-theme=macos] .ptitle,:root[data-theme=macos] .mail{font-family:Chicago,Geneva,Verdana,sans-serif;font-weight:700;letter-spacing:-.01em}:root[data-theme=macos] em{font-family:Times New Roman,serif;font-style:italic;font-size:1em}:root[data-theme=macos] .mono,:root[data-theme=macos] .hand,:root[data-theme=macos] .role,:root[data-theme=macos] .shead,:root[data-theme=macos] .pdate,:root[data-theme=macos] .imeta,:root[data-theme=macos] .pmeta,:root[data-theme=macos] .avail,:root[data-theme=macos] .soc,:root[data-theme=macos] .status,:root[data-theme=macos] .allposts{font-family:Geneva,Verdana,sans-serif}:root[data-theme=macos] .shead{border-bottom:none;text-transform:none;letter-spacing:0;font-size:13px;padding-bottom:6px;background:repeating-linear-gradient(90deg,navy 0,navy 2px,#fff 2px,#fff 4px) 0 100% / 100% 1px no-repeat}:root[data-theme=macos] .shead b{color:navy}:root[data-theme=macos] .av{border-radius:8px;border:1px solid #000;box-shadow:inset 1px 1px #fff,inset -1px -1px #888;background-image:linear-gradient(135deg,navy,#ccc,#fff)!important}:root[data-theme=macos] .pcard{border-bottom:1px solid #bbb}:root[data-theme=macos] .pthumb{border-radius:8px;border:1px solid #000;box-shadow:inset 1px 1px #fff,inset -1px -1px #888;background:linear-gradient(135deg,navy,#ccc 60%,#f5f5f5)}:root[data-theme=macos] .pthumb span{display:none}:root[data-theme=macos] .item{border-bottom:1px solid #bbb}:root[data-theme=macos] .mk{background:navy!important;border-radius:0}:root[data-theme=macos] .quote{font-family:Times New Roman,serif;font-style:italic;border-left:3px solid #000080;background:#f5f5f5;border-radius:8px;padding:12px 16px;box-shadow:1px 1px #888}:root[data-theme=macos] footer{border-top:1px solid #000}:root[data-theme=macos] .mail{border-bottom:2px solid #000080;color:navy}:root[data-theme=macos] .mail:hover{text-decoration:underline}:root[data-theme=macos] .avail i{background:navy}:root[data-theme=macos] .status .s-dot{background:navy}:root[data-theme=macos] .status .s-gh{color:navy}:root[data-theme=macos] .ptags .t{color:navy}:root[data-theme=macos] .imeta .yr{color:navy}:root[data-theme=macos] .gear{border:1px solid #000;border-radius:6px;background:#e6e6e6;box-shadow:inset 1px 1px #fff,inset -1px -1px #888}:root[data-theme=macos] .panel{border:1px solid #000;border-radius:10px;background:#e6e6e6;box-shadow:2px 2px #888}:root[data-theme=macos] .prow button{border:1px solid #000;border-radius:4px;background:#e6e6e6;font-family:Geneva,Verdana,sans-serif;box-shadow:inset 1px 1px #fff,inset -1px -1px #888}:root[data-theme=macos] .prow button:active{box-shadow:inset 1px 1px #888,inset -1px -1px #fff}:root[data-theme=macos] .prow button.active{background:navy;color:#fff}:root[data-theme=macos] .palette{border:1px solid #000;border-radius:10px;box-shadow:3px 3px #888}:root[data-theme=macos] .palette input{font-family:Geneva,Verdana,sans-serif;border:1px solid #000;border-radius:4px;background:#fff;box-shadow:inset 1px 1px #888,inset -1px -1px #fff}:root[data-theme=macos] .pitem.active{background:navy}:root[data-theme=macos] .pitem.active .pttl{color:#fff}:root[data-theme=macos] .pitem.active .pkind{color:#ccc}:root[data-theme=macos] .pitem.active .psub{color:#ccc}:root[data-theme=macos] .toast{border:1px solid #000;border-radius:8px;background:#e6e6e6;color:#000;box-shadow:2px 2px #888}:root[data-theme=macos] .progress{background:navy}:root[data-theme=macos] a{color:navy}:root[data-theme=macos] a:hover{text-decoration:underline}:root[data-theme=macos] ::-moz-selection{background:navy;color:#fff}:root[data-theme=macos] ::selection{background:navy;color:#fff}:root[data-theme=macos] .copybtn{border:1px solid #000;border-radius:4px;background:#e6e6e6;box-shadow:inset 1px 1px #fff,inset -1px -1px #888}:root[data-theme=macos] .about-block{border-top:1px solid #bbb}:root[data-theme=macos] .blog-search{border:1px solid #000;border-radius:4px;font-family:Geneva,Verdana,sans-serif;box-shadow:inset 1px 1px #888,inset -1px -1px #fff}:root[data-theme=macos] .tag-chips button{border:1px solid #000;border-radius:4px;box-shadow:inset 1px 1px #fff,inset -1px -1px #888}:root[data-theme=macos] .tag-chips button.active{color:navy;border-color:navy}:root[data-theme=macos] .post-back{color:navy}:root[data-theme=macos] .post-body a{color:navy}:root[data-theme=macos] .post-body pre{border:1px solid #000;border-radius:8px;box-shadow:1px 1px #888}:root[data-theme=macos] .post-body code{background:#f5f5f5;border-radius:3px}:root[data-theme=macos] .post-body blockquote{border-left:3px solid #000080;background:#f5f5f5;border-radius:8px;box-shadow:1px 1px #888}:root[data-theme=macos] .toc a.active{color:navy}:root[data-theme=macos] .toc a:hover{color:#000}:root[data-theme=macos] .rr-modal{border:1px solid #000;border-radius:10px;box-shadow:3px 3px #888}:root[data-theme=macos] .rr-titlebar{background:repeating-linear-gradient(90deg,navy 0,navy 2px,#fff 2px,#fff 4px);color:#fff;border-bottom:1px solid #000;border-radius:8px 8px 0 0}:root[data-theme=macos] .rr-close{border:1px solid #000;border-radius:4px;background:#e6e6e6;box-shadow:inset 1px 1px #fff,inset -1px -1px #888}:root[data-theme=macos] .snav{background:#fff;border-bottom:1px solid #000}:root[data-theme=macos] .snav.stuck{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:#000;box-shadow:0 2px #0000002e}:root[data-theme=macos] .snav-bar{padding:3px calc(var(--u) * 3)}:root[data-theme=macos] .snav-inner{gap:4px}:root[data-theme=macos] .snav-inner>:first-child{margin-left:-8px}:root[data-theme=macos] .snav-link{font-family:Chicago,Geneva,Verdana,sans-serif;font-size:13px;letter-spacing:0;text-transform:none;color:#000;border-radius:3px;padding:1px 8px}:root[data-theme=macos] .snav-link:hover{background:#000;color:#fff}:root[data-theme=macos] .snav-link.active{background:navy;color:#fff}:root[data-theme=macos] .pgrid .pcard{padding-bottom:calc(var(--u) * 2)}
