:root{--color__gray--light: rgb(191, 191, 191);--color__gray--dark: rgb(26, 26, 26)}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:local("Open Sans Regular"),local("OpenSans-Regular"),url("./fonts/open-sans-v17-latin-regular.woff2") format("woff2"),url("./fonts/open-sans-v17-latin-regular.woff") format("woff")}:root{--typography__default: 'Open Sans', sans-serif}body.dark{background-color:var(--color__gray--dark);color:var(--color__gray--light)}body.dark a{color:var(--color__gray--light)}body.dark a:hover{background-color:var(--color__gray--light);color:var(--color__gray--dark)}body.dark p{color:var(--color__gray--light)}body.dark blockquote{border-left:5px solid var(--color__gray--light);color:var(--color__gray--light)}body.dark code{color:var(--color__gray--dark);font-family:monospace, monospace}body.dark pre{color:var(--color__gray--light);font-family:monospace, monospace}body.dark pre code{color:var(--color__gray--light)}body.dark .highlight,body.dark .highlight pre,body.dark .highlight code{color:#f8f8f2}body.dark .tags{background-color:var(--color__gray--light);color:var(--color__gray--dark)}body.dark li{color:var(--color__gray--light)}body.dark figcaption{color:var(--color__gray--light)}body.dark hr.stylish{background-image:linear-gradient(to right, rgba(255,255,255,0.9), rgba(255,255,255,0.45), rgba(255,255,255,0))}body.dark input{background-color:var(--color__gray--dark);color:var(--color__gray--light)}body.dark input::placeholder{color:var(--color__gray--light)}body.dark ._progress-wrapper{background-color:#333}body.dark #_progress{background:linear-gradient(to right, #ccc var(--scroll), transparent 0)}body.dark .projects-index-group,body.dark .uiux-item{background:#222;border-color:#464646}body.dark .quote-box{background:#222;border-color:#464646}body.dark .about-calendar-section{background:#0d1117;border-color:#30363d}body.dark .about-calendar-section h3,body.dark .about-linkedin-section h3{color:#c9d1d9}body.dark .about-3dbar-labels{color:#8b949e}body.dark .linkedin-profile-card{background:#0d1117;border-color:#30363d;color:#c9d1d9}body.dark .linkedin-profile-card:hover{background:#161b22;color:#c9d1d9}body.dark .linkedin-profile-card__meta span{color:#8b949e}body.dark .about-calendar-section .calendar-graph text.wday,body.dark .about-calendar-section .calendar-graph text.month,body.dark .about-calendar-section text.ContributionCalendar-label,body.dark .about-calendar-section .text-small,body.dark .about-calendar-section .left.text-muted{fill:#8b949e;color:#8b949e}body.dark .about-calendar-section .ContributionCalendar-day[data-level='0']{background-color:#161b22}body.dark .about-calendar-section .ContributionCalendar-day[data-level='1']{background-color:#0e4429}body.dark .about-calendar-section .ContributionCalendar-day[data-level='2']{background-color:#006d32}body.dark .about-calendar-section .ContributionCalendar-day[data-level='3']{background-color:#26a641}body.dark .about-calendar-section .ContributionCalendar-day[data-level='4']{background-color:#39d353}body.dark .quote-text{color:var(--color__gray--light);border-left:none;padding:0}body.dark .project-block,body.dark .bento-project-img{border-color:#464646}body.dark .scroll-top-link{background:rgba(34,34,34,0.42);border:1px solid rgba(255,255,255,0.1);box-shadow:0 8px 20px rgba(0,0,0,0.24),inset 0 1px 0 rgba(255,255,255,0.06);color:rgba(191,191,191,0.82)}body.dark .scroll-top-link:hover{background:var(--color__gray--light);color:var(--color__gray--dark)}.highlight .hll{background-color:#49483e}.highlight{background:#272822;color:#f8f8f2}.highlight .c{color:#75715e}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#66d9ef}.highlight .l{color:#ae81ff}.highlight .n{color:#f8f8f2}.highlight .o{color:#f92672}.highlight .p{color:#f8f8f2}.highlight .ch{color:#75715e}.highlight .cm{color:#75715e}.highlight .cp{color:#75715e}.highlight .cpf{color:#75715e}.highlight .c1{color:#75715e}.highlight .cs{color:#75715e}.highlight .gd{color:#f92672}.highlight .ge{font-style:italic}.highlight .gi{color:#a6e22e}.highlight .gs{font-weight:bold}.highlight .gu{color:#75715e}.highlight .kc{color:#66d9ef}.highlight .kd{color:#66d9ef}.highlight .kn{color:#f92672}.highlight .kp{color:#66d9ef}.highlight .kr{color:#66d9ef}.highlight .kt{color:#66d9ef}.highlight .ld{color:#e6db74}.highlight .m{color:#ae81ff}.highlight .s{color:#e6db74}.highlight .na{color:#a6e22e}.highlight .nb{color:#f8f8f2}.highlight .nc{color:#a6e22e}.highlight .no{color:#66d9ef}.highlight .nd{color:#a6e22e}.highlight .ni{color:#f8f8f2}.highlight .ne{color:#a6e22e}.highlight .nf{color:#a6e22e}.highlight .nl{color:#f8f8f2}.highlight .nn{color:#f8f8f2}.highlight .nx{color:#a6e22e}.highlight .py{color:#f8f8f2}.highlight .nt{color:#f92672}.highlight .nv{color:#f8f8f2}.highlight .ow{color:#f92672}.highlight .w{color:#f8f8f2}.highlight .mb{color:#ae81ff}.highlight .mf{color:#ae81ff}.highlight .mh{color:#ae81ff}.highlight .mi{color:#ae81ff}.highlight .mo{color:#ae81ff}.highlight .sa{color:#e6db74}.highlight .sb{color:#e6db74}.highlight .sc{color:#e6db74}.highlight .dl{color:#e6db74}.highlight .sd{color:#e6db74}.highlight .s2{color:#e6db74}.highlight .se{color:#ae81ff}.highlight .sh{color:#e6db74}.highlight .si{color:#e6db74}.highlight .sx{color:#e6db74}.highlight .sr{color:#e6db74}.highlight .s1{color:#e6db74}.highlight .ss{color:#e6db74}.highlight .bp{color:#f8f8f2}.highlight .fm{color:#a6e22e}.highlight .vc{color:#f8f8f2}.highlight .vg{color:#f8f8f2}.highlight .vi{color:#f8f8f2}.highlight .vm{color:#f8f8f2}.highlight .il{color:#ae81ff}*{margin:0;padding:0}html,body{height:100%}body{font-size:16px;font-family:var(--typography__default);font-weight:400;display:flex;flex-direction:column;max-width:700px;margin:8px auto}.update-banner{background:repeating-linear-gradient(45deg, gold, gold 10px, #000 10px, #000 20px);color:#fff;padding:12px 16px;text-align:center;font-weight:700;font-size:1rem;width:100%;box-sizing:border-box;margin:-8px -8px 16px -8px;text-shadow:2px 2px 0px #000, -2px -2px 0px #000, 2px -2px 0px #000, -2px 2px 0px #000, 0px 2px 0px #000, 2px 0px 0px #000, 0px -2px 0px #000, -2px 0px 0px #000;letter-spacing:0.5px}.container{flex:1 0 auto}footer{flex-shrink:0}*,iframe,img,video{word-wrap:break-word;max-width:100%}img{display:block;margin:0 auto}code,pre{font-family:monospace;background-color:#eee;letter-spacing:1px;font-size:0.9rem;padding:2.5px;overflow-x:auto}.highlight{position:relative;border-radius:5px}.highlight *{font-family:monospace, monospace;background-color:unset;padding:unset;letter-spacing:unset}.highlight>pre{padding:8px 12px}.highlight>pre>code::before{content:attr(data-lang);position:absolute;right:20px;top:-10px;padding:0 7.5px;border:1px solid #828282;border-radius:5px;text-align:center;color:#8fbc8f;background-color:#1a1a1a}.highlight>pre .lineno{color:#608079;padding-right:5px;margin-right:10px;border-right:1px solid #656565}a{color:#333}a:hover{background-color:#333;color:#eee}.post-date{width:5em;flex-shrink:0}.post-wrapper{display:flex;margin:0.8em 0;font-size:1.25rem}.prev{max-width:50%;float:left;text-align:left}.next{max-width:50%;float:right;text-align:right}.pagination{font-size:1.25rem;padding:1rem 0}.pagination::after{content:"";clear:both;display:block}blockquote{margin:0;padding:0.5em;border-left:5px solid black;font-size:1.25rem;line-height:1.6em;color:#333;font-style:italic}.title-tags{color:#777;font-size:1.125rem}.tag-box{text-transform:capitalize}.nice-title{text-transform:capitalize}p{font-size:1.25rem;line-height:1.6em;color:#333;margin:1.25rem 0}.tags{background-color:#444;color:#fff;padding:2px 5px;border-radius:2px;text-decoration:none}h1{font-size:1.75rem;margin:0.75rem 0;letter-spacing:0.5px}h2{margin:.75rem 0;letter-spacing:.5px}h3{font-size:1.5rem;margin:0.75rem 0;letter-spacing:0.5px}h4{font-size:1.1rem;margin:0.75rem 0;letter-spacing:0.5px}h5,h6{margin:0.75rem 0;letter-spacing:0.5px}section h3{margin-top:40px;font-size:1.25rem}h3.home-page-heading{margin:5px 0;display:inline-block}.tags-container{margin:10px auto}ul,ol{padding-left:20px}li{font-size:1.25rem;line-height:1.6em;color:#333}figure{width:100%;margin:0}figcaption{text-align:center;font-size:1.125rem;line-height:1.6em;color:#333}hr.stylish{border:0;height:1px;background-image:linear-gradient(to right, rgba(0,0,0,0.9), rgba(0,0,0,0.45), transparent);margin:5px 0}.nav-item{border:none}button{padding:5px 10px;color:white;background:#272822;border-radius:5px;font-weight:bold;cursor:pointer}button:hover{opacity:0.7}details[open] summary ~ *{animation:sweep .4s ease-in-out}@keyframes sweep{0%{opacity:0;margin-top:-10px}100%{opacity:1;margin-top:0px}}.home-main{margin:1rem 0}._progress-wrapper{position:fixed;width:100%;height:.33rem;top:0;left:0;z-index:100;background-color:#ccc;opacity:0.9}#_progress{--scroll: 0%;background:linear-gradient(to right, #333 var(--scroll), transparent 0);width:100%;height:100%}.featured-posts{padding:.75rem 0 1rem}table{width:100%;border-collapse:collapse}table th,table td{padding:5px}.content{margin:1rem 0}.quote-box{border:1px solid #d8d8d8;border-radius:8px;padding:0.9rem 1rem;margin:0.8rem 0 1.2rem;background:#fafafa}.quote-text{margin:0;padding:0;font-size:1.1rem;font-style:italic}.quote-author{margin:0.5rem 0 0;font-size:1rem;font-weight:600}.projects-index{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:0.75rem;margin:1rem 0 1.5rem}.projects-index-group{border:1px solid #ddd;border-radius:6px;padding:0.75rem;background:#fafafa}.projects-index-group h4{margin:0 0 0.5rem;font-size:1rem}.projects-index-group ul{list-style:none;padding:0;margin:0}.projects-index-group li{font-size:1rem;line-height:1.5;margin:0.2rem 0}.repo-link-item{display:flex;align-items:center;gap:0.35rem}.repo-icon-link{display:inline-flex;align-items:center;line-height:1;flex:0 0 auto;opacity:0.85}.repo-icon-link svg{width:18px;height:18px;min-width:18px;min-height:18px}.repo-icon-link:hover{opacity:1}.project-title-row{display:flex;align-items:center;align-content:center;gap:0.35rem;flex-wrap:wrap}.project-block{border-bottom:1px solid #e6e6e6;padding:0.5rem 0 1.4rem;margin:0.5rem 0 1.1rem}.project-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:0.75rem;margin-top:0.75rem}.bento-project-img{width:100%;border-radius:6px;border:1px solid #ddd}.project-img-sm{max-width:360px}.uiux-gallery{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:0.9rem;margin-top:0.75rem}.uiux-item{border:1px solid #e5e5e5;border-radius:6px;padding:0.6rem;background:#fff}.uiux-item p{margin:0.6rem 0 0;font-size:1rem}.projects-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;margin-top:0.75rem}.projects-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%}.scroll-top-link{position:fixed;right:1.25rem;bottom:1.25rem;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.32);border-radius:999px;background:rgba(250,250,250,0.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:rgba(51,51,51,0.82);text-decoration:none;font-size:1.35rem;line-height:1;box-shadow:0 8px 20px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.28);z-index:50}.scroll-top-link:hover{background:#333;color:#fff}.about-calendar-section{border:1px solid #d0d7de;border-radius:6px;padding:1rem;margin:0.9rem 0 1.25rem;background:#ffffff}.about-linkedin-section{border:0;border-radius:0;padding:0;margin:0.25rem 0 1rem;background:transparent}.about-3dbar-section{margin:1.5rem 0 0.5rem;text-align:center}.about-3dbar-section img{max-width:100%;display:block;margin:0 auto}.about-3dbar-labels{display:grid;grid-template-columns:repeat(12, 1fr);gap:0;font-size:0.75rem;font-weight:600;color:#57606a;margin-bottom:0.5rem;text-align:center}.linkedin-profile-card{display:inline-flex;align-items:center;gap:0.75rem;text-decoration:none;border:1px solid #d0d7de;border-radius:8px;padding:0.65rem 0.8rem;background:#ffffff;color:#24292f}.linkedin-profile-card:hover{background:#f6f8fa;color:#24292f}.linkedin-profile-card__logo{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#0a66c2}.linkedin-profile-card__logo svg{width:20px;height:20px;fill:#ffffff}.linkedin-profile-card__meta{display:flex;flex-direction:column;line-height:1.2}.linkedin-profile-card__meta strong{font-size:0.95rem}.linkedin-profile-card__meta span{font-size:0.8rem;color:#57606a}.about-calendar-section h3,.about-linkedin-section h3{margin:0 0 0.8rem;font-size:1rem;font-weight:600;color:#24292f}.about-calendar-section .calendar{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;width:100%;min-height:auto;border:0;border-radius:0;margin:0;text-align:left;background:transparent}.about-calendar-section .calendar-graph{padding:0}.about-calendar-section .calendar-graph text.wday,.about-calendar-section .calendar-graph text.month,.about-calendar-section text.ContributionCalendar-label,.about-calendar-section .text-small,.about-calendar-section .left.text-muted{fill:#57606a;color:#57606a;font-size:10px}.about-calendar-section .ContributionCalendar-day[data-level='0']{background-color:#ebedf0}.about-calendar-section .ContributionCalendar-day[data-level='1']{background-color:#9be9a8}.about-calendar-section .ContributionCalendar-day[data-level='2']{background-color:#40c463}.about-calendar-section .ContributionCalendar-day[data-level='3']{background-color:#30a14e}.about-calendar-section .ContributionCalendar-day[data-level='4']{background-color:#216e39}.about-calendar-section .contrib-legend .legend li{border-radius:2px}.about-linkedin-section .LI-profile-badge{margin:0 auto}@media screen and (max-width: 700px){body{margin:8px}}@media screen and (max-width: 370px){.nav-item{font-size:0.8rem}}
