.about{display:flex;flex:1;flex-direction:row;justify-content:space-between}.about .avatar-container{display:flex;border-radius:50%;width:20em;height:20em;overflow:hidden;border:3px solid gray;perspective:1000px;transition:transform .6s}.about .avatar-container.flipped{transform:rotateY(180deg)}.about .avatar-container .avatar-flipper{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.about .avatar-container.flipped .avatar-flipper{transform:rotateY(180deg)}.about .avatar-container .avatar-back,.about .avatar-container .avatar-front{position:absolute;width:100%;height:100%;backface-visibility:hidden}.about .avatar-container .avatar-front{z-index:2}.about .avatar-container .avatar-back{transform:rotateY(180deg)}.about .avatar-container .avatar-image{width:100%;height:100%;object-fit:cover}.about .description{display:flex;flex-direction:column;align-content:space-between;justify-content:space-between;max-width:calc(100% - 22em);height:auto;word-wrap:break-word;line-height:2.5;color:#fff}.about .description h1{font-size:40px;color:inherit}.about .description h2{font-size:30px;color:inherit}.about .description .link{display:flex;flex-direction:row;justify-content:flex-start;padding:10px;gap:1em}@media(max-width:768px){.about{display:flex;flex:1;flex-direction:column-reverse;align-items:center;justify-content:center;overflow-x:hidden;word-wrap:break-word;padding-top:2.5em}.about .avatar-container{width:10em;height:10em;perspective:1000px;transition:transform .6s}.about .avatar-container.flipped{transform:rotateY(180deg)}.about .avatar-container .avatar-flipper{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.about .avatar-container.flipped .avatar-flipper{transform:rotateY(180deg)}.about .avatar-container .avatar-back,.about .avatar-container .avatar-front{position:absolute;width:100%;height:100%;backface-visibility:hidden}.about .avatar-container .avatar-front{z-index:2}.about .avatar-container .avatar-back{transform:rotateY(180deg)}.about .avatar-container .avatar-image{width:100%;height:100%;object-fit:cover}.about .description{display:flex;flex:1;flex-direction:column;justify-content:space-between;height:auto;word-wrap:break-word;width:100%;padding:1em;max-width:calc(100% - 1em)}.about .description h1{font-size:clamp(.7em,8vw,2em)}.about .description h1,.about .description h2{text-align:center;white-space:nowrap;max-width:100%}.about .description h2{font-size:clamp(.6em,6vw,1.5em)}.about .description .link{display:flex;flex-direction:row;justify-content:flex-start;padding:10px;gap:1em}}.block-with-image{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;background-color:#333336;border-radius:8px;padding:1.5em;gap:2em;color:#d4d4d4;--block-height:25em}.block-with-image .left-section{flex:1;display:flex;flex-direction:column;gap:1em;height:var(--block-height);overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}.block-with-image .left-section::-webkit-scrollbar{display:none}.block-with-image .left-section .title{font-size:24px;font-weight:700;margin:0;color:#569cd6}.block-with-image .left-section .subtitle{font-size:18px;color:#858585;margin:0;transition:color .2s ease}.block-with-image .left-section .subtitle:active,.block-with-image .left-section .subtitle:hover{color:#f5a623;animation:shake .5s;cursor:pointer}.block-with-image .left-section .items-list{list-style-type:decimal;padding-left:1.5em;margin:0;line-height:1.8;color:#d4d4d4}.block-with-image .left-section .items-list li{margin-bottom:.5em}.block-with-image .left-section .description{font-size:16px;color:#b0b0b0;line-height:1.6;margin:0}.block-with-image .right-section{flex-shrink:0;width:25em;display:flex;flex-direction:column;gap:1.5em;height:var(--block-height);overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}.block-with-image .right-section::-webkit-scrollbar{display:none}.block-with-image .right-section .image-wrapper{position:relative;display:inline-block}.block-with-image .right-section .image-wrapper .block-image{width:100%;height:auto;max-height:18em;object-fit:contain;border-radius:6px;border:1px solid #3c3c3c;background-color:#252526;transition:border-color .2s ease}.block-with-image .right-section .image-wrapper:active .block-image,.block-with-image .right-section .image-wrapper:hover .block-image{border-color:#f5a623;animation:shake .5s;cursor:pointer}.block-with-image .right-section .image-wrapper .image-tooltip{visibility:hidden;width:150px;background-color:#252526;color:#d4d4d4;text-align:center;border-radius:4px;padding:5px 0;position:absolute;z-index:1;bottom:105%;left:50%;transform:translateX(-50%);font-size:12px;opacity:0;transition:opacity .3s;border:1px solid #f5a623}.block-with-image .right-section .image-wrapper:hover .image-tooltip{visibility:visible;opacity:1}@media(max-width:768px){.block-with-image{flex-direction:column;align-items:center;gap:1.5em}.block-with-image .left-section{width:100%;max-height:none}.block-with-image .right-section{width:100%;max-width:25em}.block-with-image .right-section .block-image{max-height:15em}}.experience{gap:2em}.experience,.projects{display:flex;flex-direction:column;padding:2em;color:#fff;height:100%;box-sizing:border-box}.projects{flex:1}.projects h1{font-size:3em;margin-bottom:1em}.projects .divider{font-size:2em;color:#569cd6;margin:1em 0;border-bottom:2px solid #569cd6;padding-bottom:.5em}.projects .experience-projects{display:flex;flex-direction:column;gap:2em;margin-bottom:2em}.projects .experience-projects .experience-block{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;background-color:#333336;border-radius:12px;padding:1.5em;gap:2em}.projects .experience-projects .experience-block .left-section{flex:1;display:flex;flex-direction:column;gap:1em}.projects .experience-projects .experience-block .left-section .team-name{font-size:24px;font-weight:700;margin:0;color:#569cd6}.projects .experience-projects .experience-block .left-section .position{font-size:18px;color:#a1a1aa;margin:0}.projects .experience-projects .experience-block .left-section .progress-list{list-style-type:decimal;padding-left:1.5em;margin:0;line-height:1.8}.projects .experience-projects .experience-block .left-section .progress-list li{margin-bottom:.5em}.projects .experience-projects .experience-block .right-section{flex-shrink:0;width:25em}.projects .experience-projects .experience-block .right-section .image-wrapper{position:relative;display:inline-block}.projects .experience-projects .experience-block .right-section .image-wrapper .experience-image{width:100%;height:auto;max-height:18em;object-fit:contain;border-radius:8px;border:2px solid #569cd6;background-color:#fff;transition:transform .1s ease}.projects .experience-projects .experience-block .right-section .image-wrapper:active .experience-image,.projects .experience-projects .experience-block .right-section .image-wrapper:hover .experience-image{animation:shake .5s;cursor:pointer}.projects .experience-projects .experience-block .right-section .image-wrapper .image-tooltip{visibility:hidden;width:120px;background-color:#569cd6;color:#fff;text-align:center;border-radius:6px;padding:5px 0;position:absolute;z-index:1;bottom:105%;left:50%;transform:translateX(-50%);font-size:12px;opacity:0;transition:opacity .3s}.projects .experience-projects .experience-block .right-section .image-wrapper:hover .image-tooltip{visibility:visible;opacity:1}.projects .project-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));width:100%;height:100%;gap:20px;padding:20px}.projects .project-container .repo-card{background-color:#161b22;border:1px solid #30363d;border-radius:6px;padding:16px;color:#c9d1d9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;transition:transform .1s ease}.projects .project-container .repo-card:active,.projects .project-container .repo-card:hover{animation:shake .5s;cursor:pointer}.projects .project-container .repo-card .repo-header{display:flex;align-items:center;margin-bottom:8px}.projects .project-container .repo-card .repo-header .repo-icon{margin-right:8px;color:#8b949e;font-size:18px}.projects .project-container .repo-card .repo-header .repo-name{margin:0;font-size:16px;font-weight:600;color:#58a6ff}.projects .project-container .repo-card .repo-header .repo-visibility{margin-left:8px;padding:2px 8px;font-size:12px;font-weight:500;color:#8b949e;border:1px solid #30363d;border-radius:12px;background-color:rgba(0,0,0,0)}.projects .project-container .repo-card .repo-description{font-size:14px;color:#8b949e;margin:8px 0}.projects .project-container .repo-card .repo-footer{display:flex;align-items:center;font-size:12px;color:#8b949e}.projects .project-container .repo-card .repo-footer .repo-language{display:flex;align-items:center;margin-right:16px}.projects .project-container .repo-card .repo-footer .repo-language .language-dot{margin-right:4px;font-size:12px}.projects .project-container .repo-card .repo-footer .repo-stars{display:flex;align-items:center}.projects .project-container .repo-card .repo-footer .repo-stars .star-icon{margin-right:4px;font-size:14px}@media(max-width:600px){.projects .project-container{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.projects .more{display:flex;flex-direction:column;align-items:center;margin-top:2em;color:#fff}.projects .more span{font-size:1.5em}.projects .more:hover{color:#569cd6}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}to{transform:translate(0)}}@media(max-width:768px){.projects{padding:1em}.projects .experience-projects .experience-block{flex-direction:column;align-items:center;gap:1.5em}.projects .experience-projects .experience-block .left-section{width:100%}.projects .experience-projects .experience-block .right-section{width:100%;max-width:25em}.projects .experience-projects .experience-block .right-section .experience-image{max-height:15em}}.thesis{display:flex;flex-direction:column;padding:2em;color:#fff;height:100%;box-sizing:border-box}.thesis h1{font-size:3em;color:#569cd6}.thesis a{font-size:1em;margin-bottom:1em;color:#ce9178}header{display:flex;align-items:center;padding:.875rem 1rem;width:100%;background-color:#27272a;border-bottom:1px solid #494949;height:66px}header nav{display:flex;gap:1.25rem;font-size:.75rem;color:#fff}header nav .menu-item{position:relative}header nav .menu-item button{cursor:pointer;background:none;border:none;color:inherit;font:inherit;padding:.5rem;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;user-select:none}header nav .menu-item button:hover{background-color:#3a3a3d}header nav .menu-item .dropdown{position:absolute;top:calc(100% + 2px);left:0;background-color:#494949;border:1px solid #494949;border-radius:4px;box-shadow:0 4px 8px rgba(0,0,0,.2);z-index:10000;min-width:150px}header nav .menu-item .dropdown .dropdown-item{padding:.5rem 1rem;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;user-select:none}header nav .menu-item .dropdown .dropdown-item:hover{background-color:#3a3a3d}@media(max-width:768px){header nav{gap:.1em;overflow-x:auto;scrollbar-width:none;touch-action:pan-x}header nav .menu-item .dropdown{position:fixed;margin:0;width:fit-content;max-width:90vw;z-index:10001}header nav .menu-item .dropdown-item{padding:.75rem 1rem;font-size:.9rem}}.alert-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;transition:opacity .3s ease}.alert-overlay .alert-modal{background:#fff;border-radius:16px;padding:24px;max-width:600px;width:100%;box-shadow:0 10px 15px rgba(0,0,0,.2);transition:transform .3s ease-out;transform:translateY(20px);animation:slideIn .3s ease-out forwards}.alert-overlay .alert-modal .alert-content{display:flex;flex-direction:column;align-items:center;text-align:center}.alert-overlay .alert-modal .alert-content .character-wrapper{position:relative;width:100%;height:250px;background:#f5e9d8;border-radius:12px;overflow:hidden;display:flex;justify-content:center;align-items:center;margin-bottom:16px}.alert-overlay .alert-modal .alert-content .character-wrapper .capybara-gif{width:300px;height:auto;object-fit:contain}.alert-overlay .alert-modal .alert-content .message-wrapper h2{font-size:26px;color:#333;margin-bottom:12px;font-weight:600}.alert-overlay .alert-modal .alert-content .message-wrapper p{font-size:18px;color:#666;margin:10px 0 20px}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group{display:flex;justify-content:center;gap:12px}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group button{padding:12px 24px;font-size:16px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease;display:inline-block}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group button:hover{opacity:.8}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group button.yes-button{background-color:#4caf50;color:#fff}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group button.yes-button:hover{background-color:#45a049}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group button.no-button{background-color:#f44336;color:#fff}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group button.no-button:hover{background-color:#e53935}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group button.close-button{background-color:#007bff;color:#fff}.alert-overlay .alert-modal .alert-content .message-wrapper .button-group button.close-button:hover{background-color:#0056b3}@keyframes slideIn{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.alert-overlay .alert-modal{width:90%;padding:16px}}.files{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.5em;background-color:#27272a;border:1px solid #494949;width:200px;height:100vh;box-sizing:border-box}.files .close{text-align:right;width:95%;font-size:1.5em}.files .file-item{display:flex;flex-direction:row;align-items:center;width:100%;padding-top:1.25em;padding-left:1.25em;gap:.55em}.files .file-item.active{background-color:#3c3c3c}.files .file-item:hover{background-color:#333}@media(max-width:768px){.files{display:none;position:absolute;top:0;left:0;height:100%;width:80%;max-width:300px;z-index:10;transition:transform .3s ease-in-out}.files.visible{display:flex;transform:translateX(0)}}.side-navigation{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding-top:1.25rem;padding-bottom:1.25rem;background-color:#27272a;border:1px solid #494949;width:82px;height:100vh;box-sizing:border-box}.side-navigation .bottom-icons,.side-navigation .top-icons{display:flex;flex-direction:column;gap:2em;width:100%}.side-navigation .bottom-icons{margin-bottom:3.25em}.side-navigation .icon-button{position:relative;background:none;border:none;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:100%;height:40px;border-radius:4px;transition:background-color .3s ease;color:gray}.side-navigation .icon-button:hover{background-color:hsla(0,0%,100%,.1)}.side-navigation .icon-button.active{background-color:hsla(0,0%,100%,.1);color:#fff}.side-navigation .icon-button.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;background-color:#1890ff}.chatbox{position:absolute;left:82px;bottom:50px;background-color:#333;border:1px solid #494949;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:20;width:150px;padding:.5rem 0}.chatbox .chatbox-content{display:flex;flex-direction:column;gap:.5rem}.chatbox .chatbox-option{background:none;border:none;padding:.75rem 1rem;text-align:left;color:#fff;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.chatbox .chatbox-option:hover{background-color:hsla(0,0%,100%,.1)}@media(max-width:768px){.side-navigation{display:none;position:absolute;top:0;left:0;height:100%;width:100px;z-index:10;transition:transform .3s ease-in-out}.side-navigation.visible{display:flex;transform:translateX(0)}.chatbox{left:100px;bottom:60px;width:120px}}.tab-container{display:flex;flex-wrap:nowrap;overflow-x:auto;background-color:#27272a;border-bottom:1px solid #2d2d2d;width:100%}.tab-container .file-tab{display:flex;align-items:center;padding:5px 10px;color:#fff;cursor:pointer;background-color:#2d2d2d;border-right:1px solid #1e1e1e;min-width:120px}.tab-container .file-tab.active{background-color:#1e1e1e;color:#fff;font-weight:700}.tab-container .file-tab:hover{background-color:#3d3d3d}.tab-container .file-tab .file-name{flex-grow:1;padding:2px 5px;font-family:monospace;white-space:nowrap}.tab-container .file-tab .close-button{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0 5px;height:20px;line-height:20px;border-radius:50%}.tab-container .file-tab .close-button:hover{background-color:hsla(0,0%,100%,.1254901961)}.tab-container .file-tab .close-button:focus{outline:none}.page-wrapper{display:flex;width:100vw;height:100vh;background-color:#fff;overflow:hidden}.page-wrapper .page-content{display:flex;flex-direction:column;width:100%;overflow:hidden}.page-wrapper .page-content .page-main{display:flex;flex:1;overflow:hidden}.page-wrapper .page-content .content-wrapper{display:flex;flex-direction:column;flex:1;overflow:hidden}.page-wrapper .page-content .content-section{flex:1;background-color:#27272a;border:1px solid #494949;display:flex;justify-content:space-between;align-items:flex-start;padding:80px;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none}.page-wrapper .page-content .float-button-group{position:fixed;bottom:24px;right:24px}@media(max-width:768px){.page-content .page-main{position:relative;width:100%;height:100%}.page-content .page-main .content-wrapper{width:100%}.page-content .page-main .content-section{display:flex;flex:1;padding:0}}.terminal{background-color:#1e1e1e;color:#d4d4d4;padding:1rem;font-family:monospace;overflow-y:auto;overflow-x:hidden;transition:height .2s ease;border-top:2px solid #3a3a3a;position:relative;min-height:100px;scrollbar-width:thin;scrollbar-color:#3a3a3a #1e1e1e}.terminal::-webkit-scrollbar{width:8px}.terminal::-webkit-scrollbar-track{background:#1e1e1e}.terminal::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px}.terminal::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.terminal .terminal-header{position:absolute;top:5px;right:5px}.terminal .close-button{background:none;border:none;color:#d4d4d4;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.terminal .close-button:hover{color:#f55}.terminal .terminal-line{margin-bottom:.25rem;white-space:pre-wrap;word-break:break-word}.terminal .terminal-input-line{width:100%}.terminal .terminal-input-line .terminal-prompt{display:flex;flex-direction:column;width:100%;color:inherit;font-family:inherit}.terminal .terminal-input-line .terminal-prefix{white-space:nowrap;margin-bottom:.25rem}.terminal .terminal-input-line .terminal-input{width:100%;background:rgba(0,0,0,0);border:none;color:inherit;outline:none;font-family:inherit;font-size:inherit;resize:none;overflow:hidden;min-height:1.5em;white-space:pre-wrap;word-break:break-word;padding:0;line-height:1.5em}.resize-handle{height:6px;background-color:#3a3a3a;cursor:row-resize;touch-action:none;transition:background-color .2s}.resize-handle:hover{background-color:#5a5a5a}