@import url(https://fonts.googleapis.com/css2?family=Doto:wght@100..900&family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lexend:wght@100..900&family=Outfit:wght@100..900&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;width:100%}.cursor{fill:var(--primary-color)}#root,body,html{height:100%;max-width:100%;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.layout{box-sizing:border-box;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:1fr .15fr;height:100vh;max-height:100%;max-width:100%;overflow:hidden}.leftSide{grid-area:1/1/2/2;margin-top:18%;overflow:hidden;position:relative}.rightSide{grid-area:1/2/3/3}.footer{grid-area:2/1/3/2;overflow:hidden;position:relative}@media (max-width:768px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;height:100vh;height:100dvh;max-width:100vw;overflow:hidden;width:100%}.leftSide{grid-area:1/1/2/2;margin-top:0;max-height:none;overflow:visible;padding:4% 4% 2%}.leftSide,.rightSide{box-sizing:border-box;width:100%}.rightSide{-webkit-overflow-scrolling:touch;grid-area:2/1/3/2;overflow-x:hidden;overflow-y:auto;padding:0}.footer{background-color:var(--primary-dark-color);border-top:2px solid var(--hover-color);bottom:0;box-sizing:border-box;grid-area:3/1/4/2;padding:0 0 env(safe-area-inset-bottom,0);position:-webkit-sticky;position:sticky;width:100%;z-index:1000}}@keyframes fadeout{0%{opacity:1}to{opacity:0}}@keyframes colorChange{0%{fill:hsla(0,0%,96%,.808)}to{fill:var(--primary-light-color)}}@keyframes wanderBackground{0%{background-position:0 0,100% 0,0 100%,100% 100%,50% 50%,20% 80%,80% 20%,40% 40%}25%{background-position:60% 10%,15% 65%,80% 90%,5% 20%,30% 60%,85% 35%,40% 5%,60% 45%}50%{background-position:80% 50%,40% 5%,10% 80%,90% 30%,55% 75%,15% 45%,70% 15%,25% 55%}75%{background-position:30% 90%,70% 20%,90% 70%,15% 40%,45% 25%,60% 55%,20% 30%,75% 65%}to{background-position:0 0,100% 0,0 100%,100% 100%,50% 50%,20% 80%,80% 20%,40% 40%}}:root,:root[data-theme=dark-blue]{--primary-dark-color:#070d29;--secondary-dark-color:#1b4973;--secondary-dark-color-fade:#1b487367;--primary-light-color:#52cbbe;--header-primary-light-color:#f0f0f0;--hover-color:#52cbbe67;--badge-color:#748eff;--tiny-text-color:#a5a5a5;--background-dark-gradient:#020218;--background-light-gradient:#0b306a;--font-family:"IBM Plex Mono",monospace;--calm-font-family:"Lexend",sans-serif;--tiny-font-family:"Outfit",sans-serif;--pixel-font-family:"Doto",sans-serif}:root[data-theme=dark-green]{--primary-dark-color:#0a1f0b;--secondary-dark-color:#0f3d33;--secondary-dark-color-fade:#09460470;--primary-light-color:#25bb12;--header-primary-light-color:#f0f0f0;--hover-color:#24af1170;--badge-color:#27ad23;--background-dark-gradient:#0b1f0a;--background-light-gradient:#0f3d15;--font-family:"IBM Plex Mono",monospace;--calm-font-family:"Lexend",sans-serif;--tiny-font-family:"Outfit",sans-serif;--pixel-font-family:"Doto",sans-serif}:root[data-theme=dark-red]{--primary-dark-color:#2a0a0a;--secondary-dark-color:#4d1f1f;--secondary-dark-color-fade:#4d1f1f70;--primary-light-color:#fa3030;--header-primary-light-color:#f0f0f0;--hover-color:#ff4d4d70;--badge-color:#f66;--background-dark-gradient:#2a0a0a;--background-light-gradient:#4d1f1f;--font-family:"IBM Plex Mono",monospace;--calm-font-family:"Lexend",sans-serif;--tiny-font-family:"Outfit",sans-serif;--pixel-font-family:"Doto",sans-serif}:root{transition:all .8s ease}.App{background-color:#020218;background-color:var(--background-dark-gradient);display:grid;height:100%;overflow:hidden;position:relative}.App:before{animation:wanderBackground 15s linear infinite;background-image:radial-gradient(at 73% 60%,#020218 0,#0000 50%),radial-gradient(at 5% 93%,#020218 0,#0000 50%),radial-gradient(at 97% 64%,#020218 0,#0000 50%),radial-gradient(at 83% 93%,#020218 0,#0000 50%),radial-gradient(at 18% 15%,#020218 0,#0000 50%),radial-gradient(at 63% 26%,#0b306a 0,#0000 80%),radial-gradient(at 43% 36%,#0b306a 0,#0000 80%),radial-gradient(at 23% 26%,#0b306a 0,#0000 100%);background-image:radial-gradient(at 73% 60%,var(--background-dark-gradient) 0,#0000 50%),radial-gradient(at 5% 93%,var(--background-dark-gradient) 0,#0000 50%),radial-gradient(at 97% 64%,var(--background-dark-gradient) 0,#0000 50%),radial-gradient(at 83% 93%,var(--background-dark-gradient) 0,#0000 50%),radial-gradient(at 18% 15%,var(--background-dark-gradient) 0,#0000 50%),radial-gradient(at 63% 26%,var(--background-light-gradient) 0,#0000 80%),radial-gradient(at 43% 36%,var(--background-light-gradient) 0,#0000 80%),radial-gradient(at 23% 26%,var(--background-light-gradient) 0,#0000 100%);background-repeat:no-repeat;background-size:120% 120%;z-index:0}.App:after,.App:before{content:"";inset:0;pointer-events:none;position:absolute}.App:after{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);z-index:1}.App>*{position:relative;z-index:2}.pingpong-container{height:100%;left:0;position:absolute;top:0;width:100%}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.App{max-width:100vw;overflow-x:hidden;width:100%}}.collapsibleSection{background-color:var(--secondary-dark-color-fade);border:2px solid var(--hover-color);border-radius:8px;margin-bottom:1rem;margin-left:5%;margin-right:5%;overflow:hidden;padding-bottom:2%;padding-left:5%;padding-right:5%}.collapsibleButton{background:none;border:none;color:var(--header-primary-light-color);cursor:pointer;font-size:1.4rem;font-weight:600;padding-left:0;padding-top:2%;text-align:left;width:100%}.leftSide,.rightSide{color:var(--primary-light-color)}.rightSide{padding-bottom:0!important;padding-top:0!important}.rightSide__verticalText{bottom:1%;color:#a5a5a5;font-family:var(--font-family);font-size:.7rem;font-weight:400;position:absolute;right:1%;-webkit-user-select:none;user-select:none;writing-mode:vertical-rl}.rightSide__inner{background-color:var(--secondary-dark-color-fade);height:100%;margin-left:5%;opacity:1;overflow-x:hidden;overflow-y:scroll;padding-bottom:20%;position:relative;width:90%}.back-to-top{background-color:var(--hover-color);border:none;border-radius:6px;bottom:20px;box-sizing:border-box;color:var(--primary-dark-color);cursor:pointer;display:block;font-family:var(--calm-font-family);font-size:.9rem;font-weight:700;padding:10px;position:fixed;right:60px;transition:all .2s ease;z-index:1000}.back-to-top:hover{background-color:var(--secondary-dark-color);transform:translateX(-2px)}.back-to-top:active{transform:scale(.98)}.colorChanger{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--secondary-dark-color-fade);border:1px solid var(--primary-light-color);box-shadow:0 4px 20px var(--secondary-light-color);display:flex;gap:.8rem;padding:.6rem;position:absolute;right:3%;top:3%;transition:all .3s ease;z-index:100}.colorChanger__button_blue,.colorChanger__button_green,.colorChanger__button_red{box-shadow:0 0 15px #0000004d;cursor:pointer;height:40px;position:relative;transition:all .3s ease;width:40px}.colorChanger__button_blue:before,.colorChanger__button_green:before,.colorChanger__button_red:before{background:linear-gradient(45deg,#0000,currentColor,#0000);content:"";inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:2px;position:absolute;transition:opacity .3s ease}.colorChanger__button_blue{background:linear-gradient(135deg,#0b306a,#070d29);border:1px solid #00d9ff8a;color:#00d9ff}.colorChanger__button_blue:hover{box-shadow:0 0 25px #00d9ff99,0 0 50px #00d9ff4d;transform:scale(1.15)}.colorChanger__button_blue:hover:before{opacity:1}.colorChanger__button_blue:active{transform:scale(1.05)}.colorChanger__button_green{background:linear-gradient(135deg,#0f3d33,#3ce07b70);border:1px solid #00ff888a;color:#0f8}.colorChanger__button_green:hover{box-shadow:0 0 25px #0f89,0 0 50px #00ff884d;transform:scale(1.15)}.colorChanger__button_green:hover:before{opacity:1}.colorChanger__button_green:active{transform:scale(1.05)}.colorChanger__button_red{background:linear-gradient(135deg,#b00,#4d1f1f);border:1px solid #ff0006a8;color:#ff006e}.colorChanger__button_red:hover{box-shadow:0 0 25px #ff006e99,0 0 50px #ff006e4d;transform:scale(1.15)}.colorChanger__button_red:hover:before{opacity:1}.colorChanger__button_red:active{transform:scale(1.05)}.rightSide__inner.animate-fadein{animation:fadeIn .6s ease forwards}.rightSide__inner.no-bg{background:#0000 none repeat 0 0/auto auto padding-box border-box scroll;background:initial;overflow:hidden}.rightSide__inner::-webkit-scrollbar{width:8px}.rightSide__inner::-webkit-scrollbar-track{background:var(--secondary-light-color)}.rightSide__inner::-webkit-scrollbar-thumb{background-color:var(--secondary-light-color);border:2px solid var(--secondary-dark-color-fade)}.rightSide__h{color:var(--header-primary-light-color);font-family:var(--calm-font-family);font-size:2.1rem;font-weight:600;margin:0!important;padding-top:20%;text-align:center}.rightSideSection__p,.rightSideSection__p_end,.rightSide__p{color:var(--header-primary-light-color);font-family:var(--calm-font-family);font-size:.9rem;font-weight:400;margin:0!important;padding-left:5%;padding-right:5%;text-align:left}.rightSideSection__p_end{padding-bottom:15%}.rightSideSection__img{height:100%;margin-left:5%;margin-right:5%;margin-top:2%;width:90%}.rightSideSection__h1{font-size:1.8rem;padding-left:2%}.rightSideSection__h1,.rightSideSection__h2{color:var(--header-primary-light-color);font-family:var(--calm-font-family);font-weight:600;margin:0!important;padding-top:2%;text-align:center}.rightSideSection__h2{font-size:1.4rem}.rightSideSection__h3{color:var(--header-primary-light-color);font-family:var(--calm-font-family);font-size:1.1rem;font-weight:600;margin:0!important;padding-left:5%;padding-top:5%;text-align:left}.rightSideSection__pseudoCode{background-color:var(--primary-dark-color);border:2px solid var(--primary-light-color);border-radius:8px;font-family:var(--font-family);font-size:.5rem;font-weight:400;margin:0!important;padding-left:2%;padding-right:2%;text-align:left;width:-webkit-max-content;width:max-content}.topSide__horizontalText{font-size:.8rem;left:5%;writing-mode:horizontal-tb}.leftSide__verticalText,.topSide__horizontalText{color:#a5a5a5;font-family:var(--font-family);font-weight:400;position:absolute;top:1%;-webkit-user-select:none;user-select:none}.leftSide__verticalText{font-size:.7rem;left:1%;transform:rotate(180deg);writing-mode:vertical-rl}.leftSide__inner{height:100%;margin-left:10%;width:85%}.leftSide__inner,.leftSide__inner_upper{display:flex;flex-direction:column;justify-content:flex-start}.leftSide__inner_upper{height:auto;overflow:hidden}.leftSide__inner_upper svg{display:block;flex-shrink:0;margin:0;padding:0}.leftSide__h{color:var(--header-primary-light-color);flex-shrink:0;font-family:var(--font-family);font-size:1.5rem;font-weight:200;margin:0!important;margin-bottom:0;padding-bottom:0;padding-left:3.8%;text-align:center;width:-webkit-fit-content;width:fit-content}.leftSide__h .typing{animation:typing 2.5s steps(45) forwards,blink .7s step-end infinite;border-right:2px solid var(--header-primary-light-color);display:inline-block;overflow:hidden;text-align:center;white-space:nowrap;width:0}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:#0000}}.leftSide__h strong{font-weight:600}.footer__inner{height:100%;padding-left:10%}.footer__h{color:var(--primary-light-color);font-family:var(--font-family);font-size:.8rem;font-weight:400;margin:0!important;padding-left:3%}.footer__nav{align-items:center;display:flex;flex-direction:row;grid-area:2/1/3/2;justify-content:flex-start;padding-bottom:2%;padding-left:3%}.footer__a{fill:hsla(0,0%,96%,.808);margin-right:2%}.footer__a:hover{fill:var(--primary-light-color);animation:colorChange .3s ease forwards}.leftSide__p{word-wrap:break-word;animation:fadeIn 1.2s ease forwards;color:var(--header-primary-light-color);flex-shrink:0;font-family:var(--font-family);font-size:.95rem;line-height:1.4;margin:0!important;max-width:100%;overflow-wrap:break-word;padding:.5rem 2%;white-space:normal}.leftSide__nav{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding-bottom:2%;width:100%}.leftSide__nav::-webkit-scrollbar{width:6px}.leftSide__nav::-webkit-scrollbar-track{background:#0000}.leftSide__nav::-webkit-scrollbar-thumb{background-color:var(--primary-light-color);border-radius:3px}.leftSide__menu{grid-gap:2%;animation:fadeIn .4s ease forwards;background-color:var(--secondary-dark-color-fade);border-radius:5px;display:grid;gap:2%;grid-template-columns:1fr;margin-top:2%;overflow-y:auto;padding-bottom:2%;padding-top:2%}.leftSide__menu::-webkit-scrollbar{width:8px}.leftSide__menu::-webkit-scrollbar-track{background:var(--secondary-dark-color-fade);border-radius:4px}.leftSide__menu::-webkit-scrollbar-thumb{background-color:var(--secondary-light-color);border:2px solid var(--secondary-dark-color);border-radius:4px}.leftSide__menu_item{grid-column-gap:0;grid-row-gap:0;background-color:var(--secondary-dark-color-fade);border-radius:5px;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);height:100px;margin-left:2%;margin-right:2%}.leftSide__menu_item:active,.leftSide__menu_item:hover{background-color:var(--hover-color)}.leftSide__menu_item:active{transform:scale(.98)}.leftSide__menu_item_name{align-items:center;display:flex;font-family:var(--calm-font-family);font-size:2.1rem;font-weight:600;grid-area:1/1/3/2;height:100%;justify-content:left;padding-left:4%}.leftSide__menu_item_description{align-items:center;color:var(--header-primary-light-color);display:flex-start;font-size:1rem;grid-area:1/2/3/3;height:50%;padding-top:2%}.leftSide__menu_item_badges,.leftSide__menu_item_description{font-family:var(--calm-font-family);font-weight:400;justify-content:left}.leftSide__menu_item_badges{align-items:flex-end;align-items:center;display:flex;flex-wrap:wrap;font-size:1.2rem;gap:.5rem 1rem;grid-area:2/2/3/3;height:100%}.badge-item{align-items:center;display:flex;flex-direction:row;gap:.4rem;justify-content:center;margin-bottom:2px;transition:transform .2s ease}.badge-item:hover{transform:translateY(-2px)}.badge-item__icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.badge-item__icon svg{height:100%;transition:fill .3s ease;width:100%}.badge-item:hover .badge-item__icon svg{filter:brightness(1.2)}.badge-item__name{font-size:.8rem;font-weight:500;margin:0;text-align:center;white-space:nowrap}.badge-item__name,.leftSide__btn{color:var(--header-primary-light-color);font-family:var(--calm-font-family)}.leftSide__btn{align-items:center;background-color:var(--secondary-dark-color);border:2px solid var(--secondary-dark-color);border-radius:5px;display:flex;font-size:1rem;font-weight:600;justify-content:center;margin-right:2%;margin-top:2%;min-width:160px;padding:.7rem 2rem;transition:all .3s ease}.leftSide__btn:active,.leftSide__btn:hover{background-color:var(--hover-color)}.leftSide__btn:active{transform:scale(.95)}.leftSide__btn--active{background-color:var(--hover-color);border-color:var(--primary-light-color)}.btn-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.btn-icon svg{fill:var(--header-primary-light-color);height:100%;width:100%}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-top:2%;padding:2rem 0;width:100%}.skill-item{align-items:center;display:flex;flex-direction:column;gap:.8rem;justify-content:center;padding:1rem;transition:transform .2s ease}.skill-item:hover{transform:translateY(-4px)}.skill-item__icon{align-items:center;display:flex;height:64px;justify-content:center;width:64px}.skill-item__icon svg{height:100%;transition:fill .3s ease;width:100%}.skill-item:hover .skill-item__icon svg{fill:var(--primary-light-color)}.skill-item__name{color:var(--header-primary-light-color);font-family:var(--calm-font-family);font-size:.9rem;font-weight:500;margin:0;text-align:center}.mobile-nav-content{display:none}.desktop-content{display:block}.mobile-back-btn{display:none}@media (max-width:768px){.leftSide__inner{box-sizing:border-box;display:flex;flex-direction:column;height:auto;margin-left:0;padding:0;width:100%}.leftSide__h{font-size:1.1rem;margin-bottom:0;overflow-wrap:break-word;padding-left:0;padding-right:0;text-align:center}.leftSide__h,.leftSide__h .typing{word-wrap:break-word;white-space:normal}.leftSide__h .typing{animation:none;border-right:none;width:auto}.leftSide__inner svg,.leftSide__nav{display:none}.rightSide{overflow-x:hidden;padding:0;width:100%}.rightSide__inner{word-wrap:break-word;box-sizing:border-box;margin-left:0;min-height:100%;overflow-wrap:break-word;overflow-x:hidden;padding:4% 4% calc(70px + env(safe-area-inset-bottom, 0px));width:100%}.rightSide__inner.no-bg{background-color:var(--secondary-dark-color-fade);overflow-y:auto}.mobile-nav-content{display:block}.desktop-content,.viewing-project .mobile-nav-content{display:none}.viewing-project .desktop-content{display:block}.mobile-back-btn{background-color:var(--secondary-dark-color);border:2px solid var(--hover-color);border-radius:6px;box-sizing:border-box;color:var(--primary-light-color);cursor:pointer;display:block;font-family:var(--calm-font-family);font-size:.9rem;font-weight:600;margin-bottom:4%;padding:.6rem 1.2rem;transition:all .2s ease;width:auto}.mobile-back-btn:hover{background-color:var(--hover-color);transform:translateX(-2px)}.mobile-back-btn:active{transform:scale(.98)}.leftSide__menu{grid-gap:3%;background-color:initial;box-sizing:border-box;display:grid;gap:3%;height:auto!important;margin-bottom:5%;margin-top:0;max-height:none!important;overflow:visible!important;overflow-y:visible!important;padding:0 3%;width:100%}.leftSide__menu_item{background-color:var(--secondary-dark-color-fade);border:2px solid var(--hover-color);border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:2%;height:auto;max-width:100%;min-height:130px;overflow:hidden;padding:3%;width:100%}.leftSide__menu_item_name{flex-shrink:0;font-size:1.3rem;justify-content:flex-start;text-align:left}.leftSide__menu_item_description,.leftSide__menu_item_name{word-wrap:break-word;grid-area:unset;height:auto;overflow-wrap:break-word;padding:0}.leftSide__menu_item_description{display:block;flex:1 1;font-size:.8rem;line-height:1.3;min-height:0}.leftSide__menu_item_badges{align-items:flex-start;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.6rem;grid-area:unset;height:auto;margin-top:auto;min-height:30px;padding:0}.badge-item{gap:.3rem}.badge-item__icon{height:18px;width:18px}.badge-item__name{font-size:.7rem}.rightSide__article{box-sizing:border-box;overflow-x:hidden;padding:0;width:100%}.rightSideSection__h1{font-size:1.4rem;padding-top:4%}.rightSideSection__h1,.rightSideSection__h2{word-wrap:break-word;overflow-wrap:break-word}.rightSideSection__h2{font-size:1.2rem}.rightSideSection__h3{word-wrap:break-word;font-size:1rem;overflow-wrap:break-word;padding-top:3%}.rightSideSection__p,.rightSide__p{word-wrap:break-word;font-size:.85rem;line-height:1.5;max-width:100%;overflow-wrap:break-word}.back-to-top:hover{background-color:var(--secondary-dark-color);transform:translateX(-2px)}.back-to-top:active{transform:scale(.98)}.collapsibleSection{box-sizing:border-box;margin-bottom:3%;margin-left:0;margin-right:0;padding:3%;width:100%}.collapsibleButton{word-wrap:break-word;font-size:1.1rem;overflow-wrap:break-word;padding-top:0}.collapsibleButton__arrow{font-size:.9rem}.skills-section{padding:5%}.footer{bottom:0;flex-shrink:0;position:-webkit-sticky;position:sticky;z-index:1000}.footer__inner{align-items:center;display:flex;justify-content:center}.footer__inner,.footer__nav{height:100%;min-height:56px;padding:0}.footer__nav{grid-gap:0;align-items:stretch;display:grid;gap:0;grid-template-columns:repeat(3,1fr);width:100%}.footer__h{display:none}.leftSide__btn{align-items:center;background-color:var(--primary-dark-color);border:none;border-radius:0;border-right:1px solid var(--hover-color);display:flex;flex:1 1;font-size:.95rem;height:auto;justify-content:center;margin:0;min-height:56px;min-width:0;min-width:auto;padding:1rem .5rem;transition:all .2s ease}.leftSide__btn:last-child{border-right:none}.leftSide__btn:hover{background-color:var(--secondary-dark-color);transform:none}.leftSide__btn:active{background-color:var(--hover-color);transform:scale(.98)}.leftSide__btn--active{background-color:var(--secondary-dark-color);border-bottom:3px solid var(--primary-light-color)}.btn-icon{height:28px;width:28px}.leftSide__verticalText,.rightSide__verticalText,.topSide__horizontalText{display:none}.leftSide__menu::-webkit-scrollbar,.rightSide__inner::-webkit-scrollbar{width:4px}.skills-grid{gap:1.5rem;grid-template-columns:repeat(3,1fr);padding:1rem .5rem}.skill-item{gap:.5rem;padding:.8rem .4rem}.skill-item__icon{height:48px;width:48px}.skill-item__name{font-size:.75rem}.colorChanger{background:#0a0e27e6;bottom:calc(56px + 2%);gap:.5rem;left:auto;padding:.4rem;position:fixed;right:2%;top:auto;z-index:1001}.colorChanger__button_blue,.colorChanger__button_green,.colorChanger__button_red{height:32px;width:32px}}.image-modal__thumbnail{border:2px solid var(--hover-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;cursor:pointer;transition:all .3s ease;will-change:transform}.image-modal__thumbnail:hover{border-color:var(--primary-light-color);box-shadow:0 6px 20px var(--secondary-light-color);transform:scale(1.02)}.image-modal__thumbnail:active{transform:scale(.98)}.image-modal__overlay{-webkit-overflow-scrolling:touch;align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);backface-visibility:hidden;-webkit-backface-visibility:hidden;background-color:#000000e6;cursor:pointer;display:flex;height:100vh;justify-content:center;left:0;overflow:auto;position:fixed;top:0;transform:translateZ(0);-webkit-transform:translateZ(0);width:100vw;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-modal__container{-webkit-overflow-scrolling:touch;animation:zoomIn .3s ease;backface-visibility:hidden;-webkit-backface-visibility:hidden;cursor:default;max-height:90vh;max-width:90vw;position:relative;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}@keyframes zoomIn{0%{opacity:0;transform:scale(.8) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}.image-modal__enlarged{backface-visibility:hidden;-webkit-backface-visibility:hidden;border:3px solid var(--primary-light-color);border-radius:8px;box-shadow:0 8px 40px #0009;display:block;height:auto;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;max-height:90vh;max-width:90vw;object-fit:contain;transform:translateZ(0);-webkit-transform:translateZ(0);width:auto}.image-modal__close:hover{background:var(--secondary-dark-color);box-shadow:0 6px 20px var(--secondary-light-color);transform:scale(1.1) translateZ(0)}.image-modal__close:active{transform:scale(.95) translateZ(0)}@media (max-width:768px){.image-modal__overlay{-webkit-overflow-scrolling:touch;overflow:auto;touch-action:auto}.image-modal__container{box-sizing:border-box;margin:5vh auto;max-height:95vh;max-width:95vw;padding:10px}.image-modal__enlarged{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-height:95vh;max-width:95vw;touch-action:pinch-zoom}.image-modal__overlay{-webkit-backdrop-filter:none;backdrop-filter:none}}body.modal-open{height:100%;overflow:hidden;position:fixed;width:100%}.lazy-image--loading{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--background-color) 25%,var(--hover-color) 50%,var(--background-color) 75%);background-size:200% 100%;filter:blur(10px);opacity:.3}.lazy-image--loaded,.lazy-image--loading{transition:opacity .4s ease,filter .4s ease}.lazy-image--loaded{filter:blur(0);opacity:1}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}picture{display:contents}
/*# sourceMappingURL=main.5ece7758.css.map*/