*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.page{box-sizing:border-box;width:100%;max-width:1100px;min-height:100svh;margin-left:auto;margin-right:auto;padding:24px 16px 0;display:flex}.role{font-style:italic}@media (width>=640px){.page{padding-top:32px;padding-left:24px;padding-right:24px}}body{color:#111;background:#fff;margin:0;font-size:16px;line-height:1.5}.main-nav{border-right:1px solid #999;flex:0 0 130px;align-self:flex-start;padding-right:12px;font-size:15px;line-height:1.45}.main-nav ul{margin:0;padding:0;list-style:none}.main-nav li{margin-bottom:8px}main{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;padding-left:18px;display:flex}.page-content{flex:1;display:flow-root}main p,main li,a,code,.mono,time{-webkit-hyphens:none;hyphens:none}[id]{scroll-margin-top:12px}h1{margin:0 0 8px;font-size:23px;font-weight:700}h2{margin:0 0 8px;font-size:17px;font-weight:700;line-height:1.45}p{margin:0 0 8px}ul{margin:0 0 8px;padding-left:22px;list-style-type:disc}li{margin-bottom:8px}.projects.detailed{margin-top:16px}.projects.detailed li{margin-bottom:24px}.project-context{color:#444;font-size:15px;line-height:1.45}hr{border:0;border-top:1px solid #999;margin:32px 0;overflow:hidden}.home-section-break{margin:24px 0}footer{color:#444;border-top:1px solid #999;margin-top:12px;padding:12px 0;font-size:13px;line-height:1.45}.mobile-back-to-top{display:none}code{font-family:Courier New,Courier,monospace;font-size:15px}.mono,time{font:inherit}a,a:visited{color:#00c;text-decoration:underline}a:hover{color:#c00}a:focus-visible{outline-offset:2px;outline:2px dotted #111}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:1;background:#fff;padding:4px 8px;top:8px;left:8px}.structure{float:right;width:262px;margin:4px 0 16px 18px}.structure img{box-sizing:border-box;border:1px solid #555;max-width:100%;height:auto;display:block}figcaption{margin-top:8px;font-size:12px;line-height:1.35}.note-body{max-width:40rem;font-family:Georgia,Times New Roman,serif}.note-body .hljs-keyword,.note-body .hljs-literal{color:#00c}.note-body .hljs-built_in,.note-body .hljs-title{color:#639}.note-body .hljs-string{color:#8b2600}.note-body .hljs-number{color:#875600}.note-body .hljs-comment{color:#555;font-style:italic}.note-body h2,.note-body h3{margin-top:32px}.legal-body h2{font-size:19px}.legal-body h3{margin-bottom:8px;font-size:16px;line-height:1.5}.note-body pre,.note-body table{max-width:100%;display:block;overflow-x:auto}.note-body pre{margin:0 0 8px}.note-body blockquote{border-left:1px solid #999;margin:0 0 8px;padding-left:16px}.note-body img{max-width:100%;height:auto}.note-body p,.note-body ul,.note-body ol,.note-body pre,.note-body blockquote,.note-body table{margin-bottom:16px}body,.main-nav,h2,footer,.project-context,.legal-body,.note-body :is(h1,h2,h3,h4,h5,h6,th,strong,b,em,i,blockquote,a,mark,del,s,u){font-family:Comic Sans MS,Comic Sans,Chalkboard SE,Comic Neue,cursive}@media (width<=899px){.profile-header{flex-direction:column;display:flex}.structure{float:none;order:5;width:auto;margin:4px 0 16px}.structure img{width:220px;height:220px}}@media (width<=639px){.mobile-back-to-top{display:inline}.page{flex-direction:column}.main-nav{border-bottom:1px solid #999;border-right:0;flex:none;align-self:stretch;margin-bottom:16px;padding-bottom:8px;padding-right:0}.main-nav ul{flex-wrap:wrap;gap:4px 16px;display:flex}.main-nav li{margin-bottom:0}.main-nav a,.main-nav strong{padding:2px 0;display:inline-block}main{padding-left:0}}@media print{.main-nav,.skip-link{display:none}.page{max-width:none;min-height:0;padding:0;display:block}main{padding-left:0;display:block}}
