@import"https://fonts.googleapis.com/css2?family=Sofia+Sans:ital,wght@0,1..1000;1,1..1000&display=swap";@import"https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400..900;1,400..900&family=Caladea:ital,wght@0,400;0,700;1,400;1,700&family=Fira+Code:wght@300..700&family=Sintony:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--highlight: rgb(138, 43, 226);--text-color-highlight: #fff;--text-color: #000;--text-color-light: #777;--link-color: #007;--code-color: #eee;--divider: #eee;--text-fade: #bbb;--svg-filter: brightness(0) saturate(100%) invert(21%) sepia(38%) saturate(4092%) hue-rotate(257deg) brightness(118%) contrast(115%);--border-color: rgba(229, 229, 229, 1)}.dark{--highlight: rgb(255, 236, 0);--code-color: #222;--text-color: #fff;--text-color-highlight: #121212;--link-color: #bbf;--text-color-light: #aaa;color:#fff;--divider: #333;background-color:#121212;--text-fade: #555;--svg-filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(5293%) hue-rotate(359deg) brightness(107%) contrast(102%);--border-color: rgba(229, 229, 229, .1)}.dark li{color:#fff}.dark .links a svg{fill:#fff}.blog-content pre{background-color:var(--code-color);padding:.75rem;font-weight:300;border-radius:.5rem;font-family:monospace;overflow-x:auto;scrollbar-width:none;max-width:100%}.dark .links a svg:hover{fill:var(--highlight);stroke:#000}.dark #linkedin-link:hover{fill:var(--highlight);stroke:#000}#root{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2.5rem;margin:8rem 20%;font-family:Sofia Sans,serif}#root-container{display:flex;align-items:flex-start;justify-content:flex-start;gap:2.5rem;font-family:Sofia Sans,serif}ul{list-style:none;padding:0}li{margin:.25rem;-webkit-user-select:none;user-select:none;width:100%}li:first-child{display:flex;align-items:center;justify-content:center;transform:scale(2);margin-bottom:1rem}li button{width:100%;font-family:Sofia Sans,serif;font-weight:600}.nav-container{display:flex;align-items:center;justify-content:flex-start;flex-direction:column;position:sticky;top:2.5rem;height:100%}.nav{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.title{height:fit-content}.title svg{margin:.25rem;scale:1.5;fill:var(--text-color)}.active svg{fill:var(--highlight)}ul{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;margin:0}.theme-btn,.nav-btn{background-color:transparent;margin:0;font-size:1.1rem;border-color:transparent;border-width:5px;transition-duration:.25s;border-radius:.2rem;color:var(--text-color);transition:all ease-in-out .25s}.theme-btn{cursor:pointer;opacity:.5;line-height:0;padding:4px;transition:opacity .2s ease,transform .25s ease}.theme-btn:hover{opacity:1;color:var(--highlight)}.theme-btn:active{transform:rotate(25deg) scale(.9)}.nav-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;color:var(--text-color-light);width:100%;font-family:Sofia Sans,serif;font-weight:600;cursor:pointer}.nav-btn:hover{color:var(--text-color)}.active{font-weight:700;color:var(--highlight)}.active:hover{color:var(--highlight);background-color:transparent}.blog-content ul,.blog-content ol{display:block;padding-left:1.5rem;margin:.5rem 0}.blog-content ul{list-style:disc}.blog-content ol{list-style:decimal}.blog-content code{font-family:Sofia Sans}.blog-content li,.blog-content li:first-child{display:list-item;transform:none;width:auto;-webkit-user-select:text;user-select:text;margin-bottom:0;align-items:unset;font-weight:300;justify-content:unset}.blog-content li strong{font-weight:400}.blog-content h1{margin:.5rem 0}.blog-content th{text-align:left}.blog-content td{font-weight:300}.blog-content blockquote{border-left:.25rem solid var(--highlight);padding-left:1rem;margin:1rem 0;color:var(--text-color-light)}.blog-content a{color:var(--text-color);text-decoration:none}.blog-content a:before{content:"[";color:var(--highlight)}.blog-content a:after{color:var(--highlight);content:"]"}.blog-link-text{text-decoration:underline}.blog-link-arrow{display:inline-block;margin-left:.15rem;text-decoration:none;transition:transform .2s ease}.blog-content a:hover .blog-link-arrow{transform:rotate(45deg)}.blog-content a:hover{color:var(--highlight);text-decoration:none}.blog-content{max-width:100%;overflow-x:hidden;word-break:break-word;overflow-wrap:break-word}footer{display:flex;align-items:center;justify-content:center;flex-direction:column}.small-hr{margin:2rem;width:50%;align-self:center;transition-duration:.25s}.small-hr:hover{border-color:var(--highlight);width:75%}.links{display:flex;align-items:center;justify-content:center;gap:.5rem}.link{color:var(--text-color);font-family:Sofia Sans;font-weight:400}.link:hover{color:var(--highlight)}.contact-links{display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:.25rem}.contact-info{display:flex;align-items:center;justify-content:center;gap:.25rem}.contact-info a{text-decoration:none;color:var(--text-color)}.links a svg,.back-btn{transition:all cubic-bezier(.445,.05,.55,0)}.links a svg:hover{fill:var(--highlight);transition:transform .15s cubic-bezier(.17,.67,.29,2.71) 0s;transform:translateZ(0) scale(1.1)}#linkedin-link:hover{fill:#fff;stroke:var(--highlight)}.content-container{max-width:80ch;width:100%;font-size:1.25rem}.blog-tab .blog-info .blog-info-deets .blog-tab-title{font-weight:400}.content-container p{font-weight:300}.content-container p a{display:inline-flex;transition:transform .2s ease}.content-container p{margin:.75rem 0}.content-container p:last-child{margin-bottom:0}.work-container,.blog-list{display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:1.5rem}.work-tab,.blog-tab{display:flex;align-items:center;justify-content:center;gap:.75rem;border-radius:.5rem;width:100%}.work-tab:hover,.blog-tab:hover{border-color:var(--highlight)}.work-info,.blog-info{display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:column;flex:8;margin:0;font-size:1.25rem}.blog-info p{margin:.1rem 0}.blog-info-deets{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.work-info p{margin:.1rem 0}.work-info-deets{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.work-title{font-size:1.25rem}.work-info-deets .work-title{font-weight:400;margin:0;color:var(--text-color)}.work-info-deets a{font-size:.9rem;height:100%;font-weight:400;color:var(--text-color-light)}.work-info-deets a:before{content:""}.work-info-deets a:after{content:""}.work-desc,.blog-date,.blog-desc{font-size:1.1rem;--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity));margin:0}.blog-date{font-size:.75rem;color:var(--text-fade);margin:.25rem 0 0;letter-spacing:.02em}.work-details{display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:column;width:100%;height:max-content;gap:.75rem}.work-tech-stack{display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;gap:.5rem;flex-wrap:wrap;font-size:1rem}.work-tech-tool{font-size:.875rem;padding:.15rem .3rem;border-radius:.25rem;background-color:var(--code-color);box-sizing:border-box}.work-tech-tool:first-child{margin-left:0}.work-link{font-size:1rem;display:flex;align-items:flex-end;justify-content:flex-end;gap:.5rem;flex:1}.work-link div{display:flex;align-items:flex-start;justify-content:flex-start;gap:.1rem}.work-link svg{transition:all ease-in-out .2s}.work-link a{text-decoration:none;font-weight:700;font-size:.9rem}.work-link svg{transition:transform .2s ease,stroke .2s ease;stroke:var(--text-color-light)}.work-tab:hover .work-link svg,.blog-tab:hover .work-link svg{transform:rotate(45deg);stroke:var(--highlight)}.work-link a svg{transition-duration:.25s}.work-link a svg:hover{filter:var(--svg-filter);transform:rotate(45deg)}p a{color:var(--text-color);transition:all ease-in-out .25s;text-decoration:underline}p a:hover{text-decoration:none}p a svg{transition:all ease-in-out .2s}p a:hover svg{transform:rotate(45deg);filter:var(--svg-filter)}.work-container,.blog-list,.blog-page{margin-top:0}.work-container{margin-top:1rem}.content-title,.content-title-1{margin:0 auto;font-size:2rem;font-weight:700;-webkit-user-select:none;user-select:none}.content-title-1:first-child{margin-bottom:0}.content-title-1:last-child{margin-top:0}.otw-line{font-size:.75rem;font-weight:400;color:var(--highlight);opacity:.65}.otw-dot{display:inline-block;width:12.5px;height:12.5px;background:transparent;margin-left:.45rem;vertical-align:middle;position:relative;cursor:default;animation:otw-spin 4s linear infinite;transform-origin:center}.otw-dot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px dashed var(--highlight);animation:otw-glint 2.5s ease-in-out infinite}@keyframes otw-spin{to{transform:rotate(360deg)}}@keyframes otw-glint{0%,to{filter:none}50%{background:var(--highlight)}}.otw-dot:after{content:"open to work";position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);font-size:.7rem;font-weight:400;background:var(--highlight);color:var(--text-color-highlight);padding:.15em .6em;border-radius:3px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;font-family:Sofia Sans,sans-serif}.otw-dot:hover{background-color:transparent}.otw-dot:hover:after{opacity:1}.section-tagline{font-size:1rem;margin:0;color:var(--text-color-light)}.content-list{list-style-type:disc;display:block;margin:auto}.content-list li:first-child{list-style-type:disc;transform:scale(1);display:block;margin:auto}.content-title:after{content:" »";color:var(--highlight);transition:transform .2s ease}.content-title:hover .content-title:after{transform:translate(1rem)}.blog-tab{color:var(--text-color)}.blog-page-date{font-family:monospace;font-size:.9rem;--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity));margin:.5rem 0}.blog-list{gap:1rem;margin-top:1rem}a{-webkit-user-select:none;user-select:none;text-decoration:none}.blog-title{margin-top:1rem}.blog-page-title svg{margin-right:.5rem}.blog-page-title:hover svg{stroke:var(--highlight)}.blog-page-title{display:flex;align-items:center;justify-content:flex-end;font-size:1.25rem;-webkit-user-select:none;user-select:none;position:sticky;top:0;right:0;width:100%;padding:.5rem 0;background-color:var(--text-color-highlight);border-bottom:solid var(--text-color);color:var(--text-color)}.blog-list-title{margin:0}.blog-tab-title{font-size:1.25rem;font-weight:500;margin:0;color:var(--text-color);font-family:Sofia Sans,serif}img{max-width:100%;height:auto}.loader-div{width:100%;display:flex;justify-content:center;align-items:center}.loader-div span{margin:1rem 0}.home-pic{width:auto;height:7.5rem;margin:.25rem 0 -.5rem;border-radius:100%}.home-pic-container{display:flex;align-items:center;justify-content:flex-start;margin-bottom:1.5rem;gap:1rem}@media only screen and (max-width: 600px){#root{margin:0;gap:.1rem;padding-bottom:1rem}#root-container{flex-direction:column;gap:0;width:100%}.home-pic{display:block}.small-hr{margin:1rem}.title{align-self:center}.nav-container{width:100%;display:flex;align-items:center;justify-content:center;background-color:var(--text-color-highlight);top:0;z-index:1;padding:1.5rem;box-sizing:border-box;padding-bottom:0;padding-top:.75rem}.content-container{padding:1rem;box-sizing:border-box;padding:0 1.5rem;padding-top:0;padding-bottom:0}.nav{display:flex;align-items:center;justify-content:space-between;width:100%}.nav ul{flex-direction:row;margin-bottom:.25rem}.nav-container svg{box-sizing:border-box;margin:0 .5rem}.nav ul li:first-child{margin:0;margin-left:-.5rem;margin-top:-.1rem;transform:scale(1.5);display:flex;align-items:center;justify-content:center}.work-info .work-title{margin:-.25rem 0}.work-desc{margin:0}.nav{flex-direction:row}.nav-btn{padding:.05rem;border-radius:.4rem}.theme-btn{border:none;padding:0}.blog-divider{border-color:var(--text-color-light)}.blog-list{margin-top:.5rem}.blog-title{margin-top:1rem}.loader-div{margin:0;justify-content:center}.title{margin-right:.25rem}.active svg{fill:var(--text-color-highlight)}.title.active{color:var(--highlight);background-color:transparent}}.now .section-tagline,.books .section-tagline{margin:0}.resume-footer-link{color:var(--highlight)}.resume-footer-link:hover{color:var(--highlight);opacity:1}.books-list{column-count:3;column-gap:1.5rem;margin-top:1rem}.book-item{display:flex;flex-direction:column;gap:.05rem;break-inside:avoid;margin-bottom:.65rem;cursor:default;-webkit-user-select:none;user-select:none}.book-title{font-family:Alegreya,serif;font-size:1.2rem;font-style:italic;font-weight:400;color:var(--text-color);line-height:1.3;transition:color .2s ease}.book-item:hover .book-title{color:var(--highlight)}.book-author{font-family:Sofia Sans,serif;font-size:.95rem;color:var(--text-color-light)}@media only screen and (max-width: 600px){.books-list{column-count:2;column-gap:1.25rem}.book-item{margin-bottom:.6rem}.book-title{font-size:1rem}.book-author{font-size:.85rem}}.reading-progress{position:fixed;top:0;left:0;height:2px;background:var(--highlight);transition:width 50ms linear;z-index:100;pointer-events:none}
