@font-face{font-family:fira code;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fira-code-latin-400-normal.woff2)format('woff2'),url(/fonts/fira-code-latin-400-normal.woff)format('woff')}@font-face{font-family:fira code;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fira-code-latin-700-normal.woff2)format('woff2'),url(/fonts/fira-code-latin-700-normal.woff)format('woff')}@font-face{font-family:fira sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fira-sans-latin-400-normal.woff2)format('woff2'),url(/fonts/fira-sans-latin-400-normal.woff)format('woff')}@font-face{font-family:fira sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/fira-sans-latin-400-italic.woff2)format('woff2'),url(/fonts/fira-sans-latin-400-italic.woff)format('woff')}@font-face{font-family:fira sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fira-sans-latin-700-normal.woff2)format('woff2'),url(/fonts/fira-sans-latin-700-normal.woff)format('woff')}:root{--bg-light:#ffffff;--text-light:#000000;--bg-dark:#181818;--text-dark:#ebebeb;--cursor-light:#000000;--cursor-dark:#ffffff;--header-bg-dark:#333333;--header-bg-light:#f0f0f0;--header-bg-gradient-dark:linear-gradient(0deg, #222222, #444444);--header-bg-gradient-light:linear-gradient(0deg, #cccccc, #ffffff);--header-text-dark:#ebebeb;--header-text-light:#000000;--button-bg-gradient-hover-dark:linear-gradient(0deg, #222222, #666666);--button-bg-gradient-active-dark:linear-gradient(0deg, #666666, #222222);--button-bg-gradient-hover-light:linear-gradient(0deg, #dddddd, #ffffff);--button-bg-gradient-active-light:linear-gradient(0deg, #ffffff, #dddddd);--tooltip-bg-light:rgba(0, 0, 0, 0.5);--tooltip-bg-dark:rgba(255, 255, 255, 0.5);--tooltip-text-light:#ffffff;--tooltip-text-dark:#000000;--directory-color:#4e9a06;--symlink-color:#3465a4;--executable-color:#cc0000;--close-bg:#ff5f56;--close-bg-gradient:linear-gradient(0deg, #ff4c43, #ff9088);--minimize-bg:#ffbd2e;--minimize-bg-gradient:linear-gradient(0deg, #ffae00, #f7d885);--maximize-bg:#27c93f;--maximize-bg-gradient:linear-gradient(0deg, #18bd31, #a1ffaf);--border-dark:#666666;--border-light:#888888;--scroll-hover-dark:#b0b0b0;--scroll-hover-light:#555555;--bg-image-dark:url('/I-Know-Better-2.jpg');--bg-image-light:url('/I-Know-Better-1.jpg');--bg:var(--bg-dark);--text:var(--text-dark);--cursor:var(--cursor-dark);--border:var(--border-dark);--bg-image:var(--bg-image-dark);--header-bg:var(--header-bg-dark);--header-bg-gradient:var(--header-bg-gradient-dark);--header-text:var(--header-text-dark);--scroll-hover:var(--scroll-hover-dark);--button-bg-gradient-hover:var(--button-bg-gradient-hover-dark);--button-bg-gradient-active:var(--button-bg-gradient-active-dark);--tooltip-bg:var(--tooltip-bg-dark);--tooltip-text:var(--tooltip-text-dark);--iconostat-titlebar-bg:var(--header-bg);--iconostat-titlebar-bg-gradient:var(--header-bg-gradient);--iconostat-titlebar-text:var(--header-text);--iconostat-border:var(--border);--iconostat-window-bg:var(--bg);--iconostat-window-text:var(--text);--iconostat-tooltip-bg:var(--tooltip-bg);--iconostat-tooltip-text:var(--tooltip-text);--iconostat-header-bg-dark:var(--header-bg-dark);--iconostat-header-bg-light:var(--header-bg-light);--iconostat-bg-dark:var(--bg-dark);--iconostat-bg-light:var(--bg-light);--iconostat-tooltip-bg-light:var(--tooltip-bg-light);--iconostat-close-bg:var(--close-bg);--iconostat-close-bg-gradient:var(--close-bg-gradient);--iconostat-minimize-bg:var(--minimize-bg);--iconostat-minimize-bg-gradient:var(--minimize-bg-gradient);--iconostat-maximize-bg:var(--maximize-bg);--iconostat-maximize-bg-gradient:var(--maximize-bg-gradient);--iconostat-symlink-color:var(--symlink-color);--iconostat-spinner-image:url('/start-button.webp');--iconostat-start-button-image:url('/start-button.gif')}@supports(background-image:url('/start-button.webp')){:root{--iconostat-start-button-image:url('/start-button.webp')}}.toggled{--bg:var(--bg-light);--text:var(--text-light);--cursor:var(--cursor-light);--border:var(--border-light);--bg-image:var(--bg-image-light);--header-bg:var(--header-bg-light);--header-bg-gradient:var(--header-bg-gradient-light);--header-text:var(--header-text-light);--scroll-hover:var(--scroll-hover-light);--button-bg-gradient-hover:var(--button-bg-gradient-hover-light);--button-bg-gradient-active:var(--button-bg-gradient-active-light);--tooltip-bg:var(--tooltip-bg-light);--tooltip-text:var(--tooltip-text-light);--iconostat-titlebar-bg:var(--header-bg);--iconostat-titlebar-bg-gradient:var(--header-bg-gradient);--iconostat-titlebar-text:var(--header-text);--iconostat-border:var(--border);--iconostat-window-bg:var(--bg);--iconostat-window-text:var(--text);--iconostat-tooltip-bg:var(--tooltip-bg);--iconostat-tooltip-text:var(--tooltip-text)}@media(prefers-color-scheme:light){:root{--bg:var(--bg-light);--text:var(--text-light);--cursor:var(--cursor-light);--border:var(--border-light);--bg-image:var(--bg-image-light);--header-bg:var(--header-bg-light);--header-bg-gradient:var(--header-bg-gradient-light);--header-text:var(--header-text-light);--scroll-hover:var(--scroll-hover-light);--button-bg-gradient-hover:var(--button-bg-gradient-hover-light);--button-bg-gradient-active:var(--button-bg-gradient-active-light);--tooltip-bg:var(--tooltip-bg-light);--tooltip-text:var(--tooltip-text-light)}.toggled{--bg:var(--bg-dark);--text:var(--text-dark);--cursor:var(--cursor-dark);--border:var(--border-dark);--bg-image:var(--bg-image-dark);--header-bg:var(--header-bg-dark);--header-bg-gradient:var(--header-bg-gradient-dark);--header-text:var(--header-text-dark);--scroll-hover:var(--scroll-hover-dark);--button-bg-gradient-hover:var(--button-bg-gradient-hover-dark);--button-bg-gradient-active:var(--button-bg-gradient-active-dark);--tooltip-bg:var(--tooltip-bg-dark);--tooltip-text:var(--tooltip-text-dark);--iconostat-titlebar-bg:var(--header-bg);--iconostat-titlebar-bg-gradient:var(--header-bg-gradient);--iconostat-titlebar-text:var(--header-text);--iconostat-border:var(--border);--iconostat-window-bg:var(--bg);--iconostat-window-text:var(--text);--iconostat-tooltip-bg:var(--tooltip-bg);--iconostat-tooltip-text:var(--tooltip-text)}}body{align-items:center;background-color:var(--bg);background-image:var(--bg-image);background-repeat:repeat;color:var(--text);font-family:fira sans,monospace;height:100%;justify-content:center;margin:0;min-height:100vh;overflow:hidden;padding:0;transition:background-color .3s,color .3s,background-image .3s;line-height:1.35}div::-webkit-scrollbar{background-color:var(--header-bg);border-left:1px solid var(--border);border-top:1px solid var(--border);opacity:.5;width:1.5rem;height:1.5rem}div::-webkit-scrollbar-thumb{background-color:var(--border)}div::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-hover)}div::-webkit-scrollbar-button{display:none}div::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:initial}div::-webkit-scrollbar-corner{background-color:var(--header-bg)}.blink{border:1px solid var(--cursor);background-color:initial;animation:none}@keyframes blink{0%,100%{background-color:var(--bg)}50%{background-color:var(--cursor)}}header h1{font-size:2rem;margin:0 0 .75rem}header p{font-size:1rem;margin:.5rem 0 0}section{margin-bottom:1.75rem}section:last-child{margin-bottom:0}section h2{border-bottom:1px solid var(--text);font-size:1.5rem;padding-top:.6rem;margin-top:0;margin-bottom:1rem;padding-bottom:.5rem}section p{margin:.5rem 0}footer{margin-top:auto;padding-bottom:1rem;text-align:center;font-size:.9rem}.icon{height:1em}.directory{color:var(--directory-color)}.symlink,a{color:var(--symlink-color)}a,.nowrap{white-space:nowrap}a:hover{background:var(--symlink-color);border-radius:.25rem;color:var(--bg);margin:0 -.25rem;padding:0 .25rem;text-decoration:none}a img{border:1px solid var(--symlink-color)}a:hover img{border:.5rem solid var(--symlink-color);margin:calc(-.5rem + 1px)}a.no-text:hover{background:0 0}.executable{color:var(--executable-color)}.blink::after{color:currentColor;content:' ';display:inline-block;height:1em;vertical-align:middle;width:1ch}.keywords{display:none}h1,h2,h3,h4,h5,h6{font-family:fira code,monospace!important}@media print{*{float:none!important;position:static!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important;-webkit-font-feature-settings:"liga" 0,"clig" 0,"dlig" 0,"hlig" 0!important;font-feature-settings:"liga" 0,"clig" 0,"dlig" 0,"hlig" 0!important}body{overflow:auto!important}.keywords{display:inline!important;color:#fff!important;font-size:.1px!important}article{page-break-before:auto!important;page-break-after:auto!important;page-break-inside:avoid!important}body,p,#resume-container a{color:#000!important;font-size:9pt!important}#resume-container a{text-decoration:none!important}span{color:#000!important}h1{font-size:1.25rem!important}h2{font-size:1rem!important}section h2{border-bottom:1px solid #000!important}h3{font-size:.9rem!important;line-height:1.1rem!important}h4{font-size:.8rem!important;line-height:.9rem!important}h3+p.date,h4+p.date{margin:.9rem 0!important}p.summary,ul{clear:both}h4{clear:left}.page,.page-break{break-after:page}div.print-sidebar{width:50vw!important;position:absolute!important;bottom:2.5rem!important;right:0!important}div.print-sidebar section h2,div.print-sidebar section h3,div.print-sidebar section p,div.print-sidebar section li{text-align:center!important}}.resume-content h2{text-align:center}.resume-content h3{margin-bottom:0}.resume-content p:not(.date){clear:both}@media(max-width:768px){.resume-content p.date{margin-top:0}}dl.skills-grid{display:grid;grid-template-columns:115px 1fr;gap:3px 10px}dl.skills-grid dt{font-weight:600}dl.skills-grid dd{margin:0}.center{text-align:center!important}span.location{font-weight:400;white-space:nowrap}span.location::before{content:'📍'}p.date{margin:-1rem 0 1.3rem;white-space:nowrap}@media(min-width:769px){h3:has(+p.date),h4:has(+p.date){float:left}h2+p.date,h3+p.date,h4+p.date{float:right;text-align:right;clear:inline-end}h3+p.date,h4+p.date{margin:1.3rem 0}p.summary,ul{clear:both}h4{clear:left}}.nav-links{display:flex;flex-wrap:wrap;margin:-1rem -1rem 1rem;padding:.15rem .25rem;background:var(--header-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.nav-links span{display:contents}.nav-links a{display:inline-block;padding:.15rem .5rem;color:var(--header-text);text-decoration:none;white-space:nowrap;background:0 0;border-radius:0;margin:0;font-size:.9rem}.nav-links a:hover{background:var(--header-bg-gradient);color:var(--header-text);border-radius:.2rem;margin:0;padding:.15rem .5rem}.writings-menubar{display:flex;flex-wrap:wrap;margin:-1rem -1rem 1rem;padding:.15rem .25rem;background:var(--header-bg);border-bottom:1px solid var(--border);position:relative;z-index:10}.writings-menu-item{position:relative}.writings-menu-item>span{display:inline-block;padding:.15rem .5rem;color:var(--header-text);font-size:.9rem;cursor:default;border-radius:.2rem;white-space:nowrap;user-select:none;text-transform:capitalize}.writings-menu-item:hover>span,.writings-menu-item.open>span{background:var(--header-bg-gradient)}.writings-dropdown{display:none;position:absolute;top:100%;left:0;min-width:16rem;background:var(--header-bg);border:1px solid var(--border);border-radius:0 .25rem .25rem .25rem;list-style:none;margin:0;padding:.2rem 0;z-index:100;box-shadow:2px 4px 8px rgba(0,0,0,.3)}.writings-menu-item.open .writings-dropdown{display:block}.writings-dropdown li a{display:block;padding:.3rem .75rem;color:var(--header-text);text-decoration:none;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:0 0;margin:0;border-radius:0}.writings-dropdown li a:hover{background:var(--header-bg-gradient);color:var(--header-text);border-radius:0;margin:0;padding:.3rem .75rem}.post-content img{float:right;max-width:40%;height:auto;margin:0 0 1rem 1.25rem;border-radius:.25rem;cursor:zoom-in}.feature-image{float:right;max-width:40%;height:auto;margin:0 0 1rem 1.25rem;border-radius:.25rem;cursor:zoom-in}.writings-list{display:flex;flex-direction:column;gap:0}.writing-entry{padding:1.5rem 0;border-bottom:1px solid var(--border)}.writing-entry:last-child{border-bottom:none}.writing-entry h2{margin:0 0 .5rem;font-size:1.25rem}.writing-entry h2 a{text-decoration:none}.writing-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.8rem;opacity:.7}.category{background:var(--header-bg);border:1px solid var(--border);border-radius:.25rem;padding:.05rem .35rem;font-size:.75rem;text-transform:lowercase}.writing-excerpt{margin:0;font-size:.95rem;opacity:.85;line-height:1.6}#window-chat .window-body{margin:0;padding:0}#chat-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}#chat-messages{flex:1;overflow-y:auto;padding:.75rem;border-bottom:1px solid var(--border)}#chat-messages.users-visible{margin-right:var(--users-div-width,0px)}.info{font-style:italic;opacity:.6}.timestamp{color:var(--border)}.from-admin .sender,.from-admin .message{background-color:var(--header-bg);font-weight:700}.user.admin::before,.from-admin .user::before{content:"•";color:#90ee90;margin-right:.25rem}.user.you::before{content:"•";color:#ff0;margin-right:.25rem}.user.target{font-weight:700}#chat-messages:empty::before{content:"No messages yet. Be the first to say something!";font-style:italic}#chat-options{display:flex;padding:.75rem;justify-content:space-evenly;justify-items:stretch}#chat-options *{flex-grow:1;min-width:1px}#chat-options>*:last-child{margin-right:0}input,textarea,button{font-family:inherit;font-size:inherit;color:inherit;background-color:inherit;border:none;outline:none}input,textarea{margin-right:.75rem;padding:.325rem;border:1px solid var(--border);border-radius:.325rem;color:var(--text);background-color:var(--bg)}#chat-submit{display:flex;padding:.75rem;border-bottom:1px solid var(--border)}#chat-submit textarea{width:100%;min-height:15vh}#chat-submit textarea.waiting{background-image:url(/start-button.gif);background-size:5rem;background-repeat:no-repeat;background-position:50%}@supports(background-image:url('/start-button.webp')){#chat-submit textarea.waiting{background-image:url(/start-button.webp)}}#chat-messages .waiting span{display:none}#chat-messages .waiting::after{content:"Sending...";font-style:italic}#chat-users{height:100%;float:right;width:fit-content;padding-left:.75rem;border-left:1px solid var(--text);overflow-y:auto;display:none;position:fixed;right:0;max-height:calc(var(--users-div-height,100px) - .8rem);border-bottom:1px solid var(--border)}#chat-users.visible{display:block}.user:hover{background-color:var(--scroll-hover)}button{padding:.325rem 1rem;background-color:var(--header-bg);background:var(--header-bg-gradient);color:var(--header-text);border:1px solid var(--border);border-radius:.325rem;cursor:pointer}button:hover{background:var(--button-bg-gradient-hover)}button:active{background:var(--button-bg-gradient-active)}#chat-container button:hover{background-color:var(--scroll-hover)}.post-content p,.post-content li,.writing-excerpt,section p{line-height:1.7}.post-content h2,.post-content h3,.post-content h4{margin-top:2rem;margin-bottom:.5rem}.post-content h2{font-size:1.35rem;border-bottom:1px solid var(--border);padding-bottom:.35rem}.post-content h3{font-size:1.1rem}.post-content h4{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;opacity:.75}.post-content p{margin:.85rem 0}.post-content p:first-child{margin-top:0}.post-content code,.window-body code{font-family:fira code,monospace;font-size:.875em;background-color:var(--header-bg);border:1px solid var(--border);border-radius:.2rem;padding:.1em .35em;white-space:nowrap}.post-content pre,.window-body pre{background-color:var(--header-bg);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:.35rem;margin:1.25rem 0;overflow-x:auto;padding:1rem 1.25rem;line-height:1.5}.post-content pre code,.window-body pre code{background:0 0;border:none;border-radius:0;font-size:.875rem;padding:0;white-space:pre}.post-content blockquote{border-left:3px solid var(--symlink-color);background-color:var(--header-bg);margin:1.25rem 0;padding:.75rem 1rem .75rem 1.25rem;border-radius:0 .25rem .25rem 0;font-style:italic;opacity:.9}.post-content blockquote p{margin:0;line-height:1.6}.post-content blockquote p+p{margin-top:.5rem}.post header p{margin:.25rem 0 1rem}.post header time{font-family:fira code,monospace;font-size:.8rem;color:var(--border);letter-spacing:.05em}.writing-meta time{font-family:fira code,monospace;font-size:.8rem;letter-spacing:.04em}header h2{font-family:fira sans,sans-serif;font-size:1rem;font-weight:400;color:var(--border);margin:.15rem 0 0}.post-content hr,.window-body hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.post-content ul,.post-content ol{margin:.75rem 0;line-height:1.65}.post-content ul{list-style:none;padding-left:1.25rem}.post-content ul li::before{content:'–';color:var(--border);display:inline-block;width:1.25rem;margin-left:-1.25rem}.post-content ol{padding-left:1.5rem}.post-content li{margin-bottom:.3rem}.post-content li:last-child{margin-bottom:0}@media print{body{background-image:none;background-color:initial}#tasks,.menu{display:none}h3:has(+p.date),h4:has(+p.date),h3:has(+h4){break-after:avoid}h3+h4{break-before:avoid}p.date{break-before:avoid;break-after:avoid}p.summary{break-before:avoid;break-after:avoid}ul{break-before:avoid}.job-header{break-after:avoid}.job-header+ul{break-before:avoid}.resume-content h3:has(+p.date),.resume-content h4:has(+p.date){float:left!important}.resume-content h3+p.date,.resume-content h4+p.date{float:right!important;text-align:right;margin:0}.resume-content h3,.resume-content h4,.resume-content p.date{break-after:avoid}.resume-content ul{break-before:avoid;break-inside:avoid}.resume-content li{break-inside:avoid}}