:root{font-family:IBM Plex Mono,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg-primary: hsla(0, 0%, 2%, 1);--bg-wave: hsla(295, 46%, 57%, 1);--wave-color-1: hsla(295, 71%, 67%, 1);--wave-color-2: hsla(295, 46%, 57%, 1);--text-primary: rgba(255, 255, 255, .87);--text-secondary: white;--window-bg: rgb(48, 48, 48);--window-header-bg: rgb(32, 31, 31);--window-text: white;--nav-icon-color: white;--nvim-bar-bg: rgb(54, 56, 54);--nvim-item-bg: rgb(83, 85, 83);--tab-hover-bg: rgb(52, 54, 69);--tab-active-bg: rgb(66, 69, 91);--prose-link: hsla(295, 71%, 72%, 1);--prose-link-hover: hsla(295, 85%, 82%, 1);--prose-code-bg: rgba(255, 255, 255, .07);--prose-code-text: #f5c2e7;--prose-code-block-bg: rgb(30, 30, 46);--prose-border: rgba(255, 255, 255, .12);--prose-muted: rgba(255, 255, 255, .55);--prose-quote-border: hsla(295, 71%, 67%, .6)}[data-theme=light]{--bg-primary: hsl(200, 100%, 70%);--bg-wave: hsl(200, 90%, 60%);--wave-color-1: hsl(140, 70%, 50%);--wave-color-2: hsl(140, 60%, 45%);--text-primary: rgba(0, 0, 0, .87);--text-secondary: rgb(40, 40, 40);--window-bg: white;--window-header-bg: rgb(220, 220, 220);--window-text: rgb(40, 40, 40);--nav-icon-color: rgb(40, 40, 40);--nvim-bar-bg: rgb(230, 230, 230);--nvim-item-bg: rgb(200, 200, 200);--tab-hover-bg: rgb(240, 240, 240);--tab-active-bg: rgb(220, 220, 220);--prose-link: hsl(295, 70%, 42%);--prose-link-hover: hsl(295, 80%, 32%);--prose-code-bg: rgba(0, 0, 0, .06);--prose-code-text: #ea76cb;--prose-code-block-bg: rgb(239, 241, 245);--prose-border: rgba(0, 0, 0, .14);--prose-muted: rgba(0, 0, 0, .55);--prose-quote-border: hsl(295, 70%, 52%)}body{margin:0;background:var(--bg-primary);color:var(--text-secondary)!important;overflow:hidden;height:100vh;transition:background-color .3s ease,color .3s ease}html{scroll-behavior:smooth!important;overflow:hidden;height:100vh}.canvasStyle{display:block;margin:0 auto;height:80vh;width:100%;max-height:100%;object-fit:contain}.containerStyle{height:22vh;width:100%;max-width:500px;display:flex;justify-content:center;align-items:center;flex-direction:column;background:#fff;background:radial-gradient(circle,#fff,#7d91ed00 35%);background:-moz-radial-gradient(circle,hsla(0,0%,100%,1) 0%,hsla(229,76%,71%,0) 35%);background:-webkit-radial-gradient(circle,hsla(0,0%,100%,1) 0%,hsla(229,76%,71%,0) 35%);filter:progid: DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF",endColorstr="#7B90ED",GradientType=1)}.propellerHat{display:flex;justify-content:center;align-items:center;flex-direction:column}.spinMe{font-weight:700;visibility:hidden;opacity:0;margin:0;height:1em;line-height:1em;transition:opacity .5s ease-in-out,visibility 0s linear .5s}.spinMe.visible{visibility:visible;opacity:1;transition:opacity .5s ease-in-out,visibility 0s linear 0s}@media (max-width: 768px){.containerStyle{height:20vh;max-width:100%;background:radial-gradient(circle,#fff,#7d91ed00 30%);background:-moz-radial-gradient(circle,hsla(0,0%,100%,1) 0%,hsla(229,76%,71%,0) 30%);background:-webkit-radial-gradient(circle,hsla(0,0%,100%,1) 0%,hsla(229,76%,71%,0) 30%)}.canvasStyle{height:30vh;max-height:30vh}.spinMe{font-size:.9rem}}@media (max-width: 480px){.containerStyle{height:18vh}.canvasStyle{height:25vh;max-height:25vh}.spinMe{font-size:.85rem}}.intro-window-frame{--intro-top-gap: 72px;--morph-dur: .48s;--morph-ease: cubic-bezier(.4, 0, .2, 1);flex:1 1 auto;min-height:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:0;transition:padding-top var(--morph-dur) var(--morph-ease)}.intro-window-frame.is-expanded{padding-top:var(--intro-top-gap)}.intro-window{height:auto;width:95vw;max-width:900px;border-radius:20px;background-color:var(--window-bg);margin:0;flex-grow:0;flex-shrink:0;flex-basis:auto;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #0000004d,0 4px 12px #0003,0 1px 3px #00000026;transition:flex-grow var(--morph-dur) var(--morph-ease),max-width var(--morph-dur) var(--morph-ease),width var(--morph-dur) var(--morph-ease),border-radius var(--morph-dur) var(--morph-ease),background-color .3s ease}.intro-window-frame.is-expanded .intro-window{flex-grow:1;max-width:1200px;max-height:100%;border-radius:20px 20px 0 0}.intro-content-container{position:relative;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.intro-window-frame.is-expanded .intro-content-container{height:auto;flex:1 1 auto}.intro-primary{flex:0 0 auto;width:100%;box-sizing:border-box;padding:32px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .26s ease .1s,transform .26s var(--morph-ease) .1s}.intro-window-frame.is-expanded .intro-primary{opacity:.001;pointer-events:none;transform:translateY(-8px);transition:opacity .18s ease,transform .18s var(--morph-ease)}.intro-secondary{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .18s ease,transform .18s var(--morph-ease),visibility 0s linear .18s}.intro-window-frame.is-expanded .intro-secondary{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .24s ease .1s,transform .24s var(--morph-ease) .1s,visibility 0s linear 0s}.intro-window-header{width:100%;box-sizing:border-box;height:60px;flex-shrink:0;background-color:var(--window-header-bg);display:flex;flex-direction:row;padding:10px 20px;justify-content:center;align-items:center;position:relative;transition:background-color .3s ease}.intro-close{position:absolute;left:14px;top:50%;width:20px;height:20px;margin:0;padding:0;border:none;border-radius:50%;cursor:pointer;background-color:#ff5f56;opacity:0;visibility:hidden;transform:translateY(-50%);transition:opacity .14s ease,visibility 0s linear .14s,background-color .2s ease}.intro-window-frame.is-expanded .intro-close{opacity:1;visibility:visible;transition:opacity .2s ease .18s,visibility 0s linear 0s,background-color .2s ease}.intro-close:hover{background-color:#8e3336}.intro-filename{display:flex;align-items:center;font-weight:700;color:var(--window-text);transition:color .3s ease}.intro-filename-text{animation:introFilenameIn .22s ease .12s both}@keyframes introFilenameIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media (max-width: 768px){.intro-window-frame{--intro-top-gap: 64px}.intro-window{width:90vw;max-width:500px;border-radius:15px}.intro-window-frame.is-expanded .intro-window{width:100vw;max-width:100vw;border-radius:15px 15px 0 0}.intro-window-header{height:51px;padding:8px 15px}.intro-primary{padding:30px 15px}.intro-filename{white-space:nowrap;font-size:14px}.folderIcon{max-width:16px;max-height:16px;margin-right:6px}}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out;width:100%;height:100%;max-height:100%}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){.fade-in-section{height:auto;max-height:100%}}#title{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:780px;text-align:center;width:100%}.greeting-text,.caption{max-width:600px}.intro-container{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;z-index:1;height:100vh;height:100dvh;width:100%}.intro-fadein-content{display:flex;flex-direction:column;align-items:center;width:100%}.purpletext{color:#dd6fe7}.greeting-text{font-family:IBM Plex Mono,monospace;font-size:40px;margin-bottom:0;color:var(--window-text);transition:color .3s ease}.wave-emoji{display:inline-block;transition:transform .3s ease}.greeting-text:hover .wave-emoji{animation:wave .6s ease-in-out infinite;transform-origin:70% 70%}@keyframes wave{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.caption{color:var(--window-text);margin-top:10px;text-align:center;max-width:90vw;transition:color .3s ease;opacity:.85}.buttons-container{display:flex;flex-direction:column;align-items:center;gap:20px;margin:24px 0 0;width:100%}.section-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;justify-content:center;width:100%}.sectionButton{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-decoration:none;color:var(--window-text);background-color:transparent;font-size:16px;font-weight:600;padding:22px 12px;cursor:pointer;border:none;border-radius:12px;transition:all .3s ease;font-family:inherit;box-sizing:border-box;min-width:0}.sectionButton:hover{background-color:#c570e01a;color:#dd6fe7;transform:translateY(-4px)}.sectionButton:hover .button-icon{transform:scale(1.1)}.sectionButton:active{transform:translateY(-2px)}.button-icon{width:56px!important;height:56px!important;transition:transform .3s ease;color:var(--window-text)}@media (max-width: 768px){.greeting-text{font-size:28px}.caption{font-size:14px;margin-top:8px}.buttons-container{margin:20px 0;gap:15px}.section-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.sectionButton{font-size:13px;padding:16px 10px;min-width:0;gap:8px}.button-icon{width:40px!important;height:40px!important}}@media (max-width: 480px){.greeting-text{font-size:24px}.caption{font-size:13px}.sectionButton{font-size:12px;padding:14px 8px;min-width:0}.button-icon{width:36px!important;height:36px!important}}.window{height:auto;width:95%;max-width:1400px;max-height:90vh;border-radius:20px;background-color:var(--window-bg);margin:30px auto;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 30px #00000080;transition:background-color .3s ease}#aboutme{height:auto;max-height:90vh}#aboutme .contentContainer{overflow-y:auto;overflow-x:hidden}#experience{height:88vh;max-height:88vh}#experience .contentContainer{position:relative;height:calc(88vh - 140px);overflow-y:auto;overflow-x:hidden;flex:1}#projects{height:750px;max-height:750px;min-height:750px;width:1200px;max-width:1200px;min-width:1200px}#projects .contentContainer{position:relative;height:880px;max-height:780px;min-height:780px;overflow-y:auto;overflow-x:hidden;flex:1}.windowBottomBar{position:absolute;bottom:0;left:0;width:100%;z-index:20}.sectionHeader.hidden{display:none}.contentContainer{position:relative;height:100%;overflow-y:auto;overflow-x:hidden;flex:1;-webkit-overflow-scrolling:touch}.sectionTitle{display:inline;padding:20px;font-family:IBM Plex Mono,monospace}.sectionHeader{display:flex;align-items:center}.headerLine{flex-grow:1;margin:0 30px;align-self:center}hr{display:inline}.windowHeader{width:100%;background-color:var(--window-header-bg);display:flex;flex-direction:row;align-items:center;padding:10px 5px;box-sizing:border-box;position:relative;transition:background-color .3s ease;cursor:move;cursor:grab}.windowHeader:active{cursor:grabbing}.windowHeader.mobile,.windowHeader.mobile:active{cursor:default}.windowControls{list-style:none;display:flex;flex-direction:row;justify-content:flex-start;padding-left:.5rem}.windowControls li{margin:0 7px;border-radius:50%;width:20px;height:20px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:15px;line-height:calc(1em - 3px)}.closeWindow{background-color:#ff5f56}.closeWindow:hover{background-color:#8e3336}.minWindow{background-color:#ffbd2e;color:#d49408;font-weight:bolder}.minWindow:hover{background-color:#d49408;color:#ffbd2e}.expandWindow{background-color:#27c93f;color:#147623;font-size:7px!important}.expandWindow:hover{background-color:#147623;color:#27c93f;font-size:7px!important}.triangle{position:relative;display:inline-block;z-index:1;left:3px;top:-1px}.triangle+.triangle{left:-2px;top:2px;z-index:2}.folderIcon{max-width:20px;max-height:20px;margin-right:8px}.filename{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;font-weight:700;color:var(--window-text);transition:color .3s ease}.typeAnimation{font-family:IBM Plex Mono,monospace;font-size:clamp(1.5rem,2.5vw,2.5rem);font-weight:500;padding:20px 15px;display:inline-block;line-height:1;color:var(--window-text);transition:color .3s ease}.promptchars{color:#12d704;font-family:IBM Plex Mono,monospace;font-size:clamp(1.5rem,2.5vw,2.5rem);font-weight:500;padding:20px;display:inline-block;line-height:1}@media (max-width: 768px){.filename{left:70%;white-space:nowrap}.window{width:100%;margin:10px auto;border-radius:15px;max-height:85vh}#aboutme{height:auto;max-height:85vh}#aboutme .contentContainer{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}#experience{height:auto;min-height:85vh;max-height:90vh}#experience .contentContainer{height:auto;min-height:60vh;max-height:70vh;overflow-y:auto}#projects{height:85vh;max-height:85vh;width:100%;max-width:100%;min-width:100%;display:flex;flex-direction:column;position:relative}#projects .contentContainer{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}#projects .windowBottomBar{position:relative;flex-shrink:0;bottom:auto}}.textContainer{display:flex;flex-direction:column;justify-content:center;width:62%;padding:20px;text-align:left;color:var(--window-text);transition:color .3s ease}.myphoto{max-width:300px;max-height:300px;align-self:center}.aboutMeContainer{display:flex;flex-direction:row;justify-content:center;align-items:flex-start}.purpleText{color:#dd6fe7}.boldText{font-weight:bolder}.skillsContainer{display:flex;flex-direction:column;gap:25px}.skillCategory{display:flex;flex-direction:column;gap:12px}.categoryTitle{font-size:1.05rem;font-weight:600;color:#dd6fe7;margin:0;padding-bottom:5px;border-bottom:2px solid hsla(295,71%,67%,.3)}.skillsList{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:8px;list-style-type:none;padding:0;margin:0}.skillItem{font-size:.8rem;display:flex;flex-direction:column;align-items:center;white-space:nowrap;gap:5px}.skillName{text-align:center;font-weight:500;font-size:.85rem}.skillIcon{width:40px;height:40px;background-color:#fff;border-radius:10%;padding:2px}.skillIcon:hover{transform:scale(1.1)}.skillIcon img,.skillIcon svg{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.imgAndSocials{position:relative;display:inline-block;color:#000;text-align:center;background-color:#fff;padding:10px;box-shadow:0 4px 8px #0003;margin:20px auto 10px;transform:rotate(-2deg)}.socialIcons{display:flex;justify-content:center;gap:15px}.socialIcon{color:#000;transition:color .3s ease}.socialIcon:hover{color:#5b5b5b}.photoCaption{font-family:Shadows Into Light,cursive;font-size:1.2em;margin-bottom:5px}.tape{position:absolute;top:-20px;left:50%;transform:translate(-50%) rotate(90deg);width:80px;height:30px;background-color:khaki;box-shadow:0 2px 5px #0003;z-index:1;opacity:.8}@media (max-width: 769px){.aboutMeContainer{flex-direction:column}.textContainer{width:95%}.skillsList{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.nvim{font-family:IBM Plex Mono,monospace;position:relative;flex-shrink:0}.insertError{position:absolute;bottom:100%;left:16px;margin:0 0 6px;color:#e92727}.nvimbar{position:relative;width:100%;background-color:var(--nvim-bar-bg);display:flex;flex-direction:row;justify-content:space-between;flex-wrap:nowrap;white-space:nowrap;padding:0;transition:background-color .3s ease;color:var(--window-text)}.mode{background-color:#cba6f7;clip-path:polygon(0% 0%,90% 0%,100% 50%,90% 100%,0% 100%);color:#000}.nvimItem{margin:0;padding:0 20px;display:inline-block}.percent{padding-right:10px;clip-path:polygon(0% 50%,10% 0%,100% 0%,90% 50%,100% 100%,10% 100%)}.line{background-color:#cba6f7;clip-path:polygon(0% 50%,10% 0%,100% 0%,100% 100%,10% 100%)}.nvimRight{clip-path:polygon(0% 50%,10% 0%,100% 0%,100% 100%,10% 100%);background-color:var(--nvim-item-bg);transition:background-color .3s ease}.jobfile{padding-right:4px}.markdownicon{height:10px;width:auto}@media (max-width: 768px){.jobfile,.markdownicon{display:none}}.vertical-tabs-container{display:flex;width:100%;height:100%;overflow:hidden}.vertical-tabs-list{display:flex;flex-direction:column;background-color:var(--window-bg);border-right:1px solid rgb(100,100,100);padding:8px;width:20%;transition:background-color .3s ease;overflow-y:scroll!important;overflow-x:hidden;height:100%;-webkit-overflow-scrolling:touch}.vertical-tab-trigger{padding:10px 16px;cursor:pointer;background-color:var(--window-bg);border:none;border-bottom:1px solid rgb(100,100,100);text-align:left;transition:background-color .3s ease;font-family:IBM Plex Mono,monospace;flex-shrink:0;min-height:fit-content}.tab-trigger-content{display:flex;align-items:flex-start;gap:10px}.tab-text{display:flex;flex-direction:column;gap:4px;flex:1}.tab-company{color:#74c7ec;font-size:1.1rem;font-weight:600;line-height:1.2}.tab-role{color:#a6adc8;font-size:.85rem;line-height:1.2}.vertical-tab-trigger:hover{background-color:var(--tab-hover-bg)}.vertical-tab-trigger[data-state=active]{background-color:var(--tab-active-bg);font-weight:700}.vertical-tab-content{flex-grow:1;background-color:var(--window-bg);position:relative;width:80%;transition:background-color .3s ease;display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden}.vertical-tab-content[hidden]{display:none}.tab-content-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px;-webkit-overflow-scrolling:touch}.listBullet{max-width:15px;max-height:15px;margin-right:10px}.contentRole{margin:0;color:var(--window-text);transition:color .3s ease}.contentCompany{color:#dd6fe7;font-size:1.2rem;font-weight:700}.contentDate{color:#dd6fe7;font-size:1.2rem}.contentSubhead{display:flex;justify-content:space-between}.contentList{font-size:1rem;padding-bottom:30px;color:var(--window-text);transition:color .3s ease}.contentSkills{font-size:1rem;font-weight:700;color:var(--window-text);transition:color .3s ease}.relatedProjects{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-bottom:16px}.relatedProjectLink{display:inline-flex;align-items:center;gap:4px;padding:0;background:none;border:none;cursor:pointer;font-family:inherit;font-size:1rem;color:#74c7ec;transition:color .3s ease}.relatedProjectLink:hover{text-decoration:underline}.relatedProjectLink .listBullet{margin-right:6px}@media (max-width: 768px){.vertical-tabs-container{flex-direction:column;height:100%}.vertical-tabs-list{width:100%;flex-direction:row;border-right:none;border-bottom:1px solid rgb(100,100,100);padding:8px;overflow-x:auto;overflow-y:hidden;height:auto;max-height:120px;flex-shrink:0;-webkit-overflow-scrolling:touch}.vertical-tab-trigger{border-bottom:none;border-right:1px solid rgb(100,100,100);min-width:180px;padding:12px}.vertical-tab-trigger:last-child{border-right:none}.tab-company{font-size:1rem}.tab-role{font-size:.8rem}.vertical-tab-content{width:100%;flex:1;min-height:0}.tab-content-body{padding:12px}.contentRole{font-size:1.3rem}.contentCompany{font-size:1.1rem}.contentDate{font-size:1rem}.contentSubhead{flex-direction:column;gap:5px}.contentList{font-size:.95rem;padding-bottom:20px}.contentSkills,.relatedProjectLink{font-size:.95rem}}.project-grid-container{width:100%;max-width:1160px;height:100%;padding:20px 20px 250px;box-sizing:border-box;overflow-y:visible;overflow-x:hidden}.category-section{margin-bottom:40px}.category-section:last-child{margin-bottom:20px}.category-title{color:var(--window-text);font-size:1.5rem;font-weight:600;margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid var(--nvim-bar-bg);font-family:IBM Plex Mono,monospace}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%;max-width:100%;margin:0 auto}.project-thumbnail{position:relative;width:100%;height:220px;max-height:220px;overflow:hidden;border-radius:8px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.project-thumbnail:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000004d}.thumbnail-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-thumbnail:hover .thumbnail-image{transform:scale(1.05)}.thumbnail-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:20px;display:flex;align-items:flex-end}.thumbnail-title{color:#fff;font-size:1.2rem;margin:0;font-weight:600}@media (max-width: 900px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 768px){.project-grid-container{padding:80px 15px 10px;height:auto;overflow-y:visible}.category-title{font-size:1.2rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.project-thumbnail{height:200px}.thumbnail-title{font-size:1rem}}@media (max-width: 600px){.project-grid-container{padding:80px 10px 10px}.project-grid{grid-template-columns:1fr;gap:15px}.project-thumbnail{height:180px}}.project-detail-container{height:100%;padding:20px 0;box-sizing:border-box;position:relative;z-index:1;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.back-button{display:flex;align-items:center;gap:8px;background-color:var(--nvim-item-bg);color:var(--window-text);border:1px solid var(--nvim-bar-bg);padding:10px 20px;margin:0 20px 15px;border-radius:4px;cursor:pointer;font-size:1rem;font-family:IBM Plex Mono,monospace;transition:background-color .3s ease,transform .2s ease,color .3s ease;z-index:10;position:relative;flex-shrink:0}.back-button:hover{background-color:var(--tab-hover-bg);transform:translate(-5px)}.project-detail{position:relative;width:100%;max-width:1120px;height:600px;margin:0 20px 20px;overflow:hidden;border-radius:8px;flex-shrink:0}.detail-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.detail-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#00000080;color:#fff;padding:20px;box-sizing:border-box;text-align:center}.projectTitle{margin:10px 0;font-size:1.5rem;display:inline}.projectDesc{font-size:1rem;margin-bottom:10px;max-width:70%}.related-experience{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:16px}.related-experience-link{display:inline-flex;align-items:center;gap:8px;padding:0;background:none;border:none;cursor:pointer;font-family:inherit;font-size:1rem;color:#fff;opacity:.85;transition:opacity .3s ease}.related-experience-link:hover{opacity:1;text-decoration:underline}.project-links{display:flex;gap:12px;align-items:center;margin-left:12px}.project-link{display:inline-flex;align-items:center;justify-content:center;padding:8px;background-color:transparent;border-radius:4px;transition:transform .3s ease}.project-link:hover{transform:scale(1.1)}.projectIcon{width:3rem;height:3rem;background-color:#fff;border-radius:10%;padding:2px;margin-right:5px;align-self:center}.projectIcon:hover{transform:scale(1.1)}.iconContainer{display:flex;gap:10px}.iconWithName{width:100px;display:flex;justify-content:center;flex-direction:column;padding:0 .5rem}.titlediv{display:flex;justify-content:center;align-items:center}.icon-name{font-size:.8rem;margin-top:5px;text-align:center}@media (max-width: 768px){.project-detail-container{padding:10px 0;overflow-y:visible;height:100%;justify-content:center}.project-detail{width:95%;height:500px;margin:0 10px 10px}.detail-image{width:100%;height:100%;object-fit:cover}.back-button{font-size:.9rem;padding:8px 16px;margin:0 10px 10px}.projectTitle{font-size:1.3rem}.projectDesc{font-size:.95rem;max-width:95%}.related-experience-link{font-size:.95rem}.projectIcon{width:2.5rem;height:2.5rem}.iconContainer{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}}@media (max-width: 600px){.project-detail-container{padding:8px 0;height:100%;justify-content:center}.project-detail{width:100%;height:450px;margin:0 5px 8px}.detail-image{height:100%;object-fit:cover}.back-button{font-size:.85rem;padding:7px 14px;margin:0 5px 8px}.projectTitle{font-size:1.1rem}.projectDesc{font-size:.9rem;max-width:98%}.related-experience-link{font-size:.85rem}.projectIcon{width:2rem;height:2rem}.icon-name{font-size:.7rem}}.tmuxContainer{position:relative;width:100%;height:30px;background-color:#24e712;color:#000;padding:5px 16px 20px;box-sizing:border-box;font-family:IBM Plex Mono,monospace;display:flex;justify-content:space-between;align-items:center;z-index:15;border-radius:0 0 20px 20px}.tmuxItem{margin-bottom:4px}@media (max-width: 768px){.tmuxContainer{padding:5px 12px 15px;font-size:14px;height:25px;border-radius:0 0 15px 15px}.tmuxItem{font-size:13px}.datetime{display:none}}@media (max-width: 480px){.tmuxContainer{padding:4px 10px 12px;font-size:12px;height:22px}.tmuxItem{font-size:11px}}.projects{padding-top:0;padding-bottom:0;height:100%;max-height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;padding:20px;background-color:transparent;z-index:50;animation:footerIn .25s ease .15s both}.footer.is-top{top:0;bottom:auto;padding:16px 20px;animation:footerInTop .28s ease .18s both}.footer.is-leaving{animation:footerOut .15s ease both}@keyframes footerIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes footerInTop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes footerOut{0%{opacity:1}to{opacity:0}}.socialIcons{display:flex;gap:30px;align-items:center}.socialLink{color:var(--text-secondary);opacity:.7;transition:all .3s ease;display:flex;align-items:center;justify-content:center;text-decoration:none}.socialButton{background:none;border:none;padding:0;font:inherit;cursor:pointer}.socialButton.is-copied{opacity:1;color:#51d147}.socialLink:hover{opacity:1;transform:translateY(-3px)}.visuallyHidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.socialLink:active{transform:translateY(-1px)}.theme-toggle-fixed{position:fixed;top:20px;left:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:8px;transition:all .3s ease;z-index:100;color:var(--window-text)}.theme-toggle-fixed:hover{transform:scale(1.15)}.theme-toggle-fixed:active{transform:scale(.9)}.sun-icon{color:gold}.wave-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none;overflow:hidden}.wave-base{position:absolute;bottom:0;left:0;width:100%;height:25vh;background:var(--bg-wave);z-index:0;transition:background-color .3s ease}[data-theme=light] .wave-base{background:linear-gradient(to top,#1e8e00,#3cb521,#6cd43f 70%,#9ce86f)}.stars-canvas,.clouds-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.App{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;height:100vh;overflow:hidden}body.overlay-open{overflow:hidden;position:fixed;width:100%;height:100%}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:flex-start;z-index:2000;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;opacity:1;animation:overlayFadeIn .2s ease-out;transition:opacity .26s ease-out}.overlay-content{width:100%;display:flex;justify-content:center;align-items:flex-start;transition:transform .26s ease-out}.overlay.is-closing{opacity:0;pointer-events:none;animation:none}.overlay.is-closing .overlay-content{transform:translateY(-8px) scale(.98)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.overlay.is-closing .overlay-content{transform:none}}@media (max-width: 768px){.overlay{padding:10px;align-items:center}}
