html{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden}@media(max-width:1264px){html{overflow:auto!important;height:auto!important}}body{scroll-behavior:smooth;text-rendering:optimizeSpeed;margin:0;width:100%;height:100%;min-height:100%;font-family:JetBrains Mono,monospace;font-size:16px;background-color:#222;color:#fff;line-height:1.65em}@media(max-width:1264px){body{overflow:auto!important;height:auto!important}}#app{display:block;width:100%;height:100%;min-height:100%;overflow:hidden;background-color:#444}@media(max-width:1264px){#app{overflow:auto!important;height:auto!important;background-color:#222}}.text-body-1,.text-body-2,.text-button,.text-caption,.text-h1,.text-h2,.text-h3,.text-h4,.text-h5,.text-h6,.text-overline,.text-subtitle-1,.text-subtitle-2,code,kbd,pre,samp{font-family:JetBrains Mono,monospace}.header{display:block;max-height:100%;min-height:100%;padding-left:3rem;overflow:hidden}.header,.main-content{width:100%;height:100%}.main-content{max-width:calc(100% - 428px);position:absolute;top:0;right:0;background-color:#222;padding:60px;overflow-y:auto}@media(max-width:1264px){.main-content{max-width:100%;position:relative;padding:30px;height:auto!important;overflow-y:visible!important}}img{-o-object-fit:cover;object-fit:cover}ul{list-style:none;padding:0;margin:0}.title--h1{font-size:32px;margin-bottom:17px}.title--h2{font-size:24px;margin-bottom:20px}.title--decoration{margin-bottom:2.3125rem;position:relative}.title--decoration:before{content:"";background:#04b4e0;border-radius:.5rem;height:.3125rem;position:absolute;bottom:-1.0625rem;left:0;width:2.5rem;z-index:1}.app__bar,.app__drawer{background-color:#222!important}.app__drawer-item.v-list-item--active{background:rgba(var(--v-theme-primary),.1)}.main-container{min-height:100vh;padding:0!important}.main-menu{background-color:#222;position:absolute;left:0;height:100%;width:3rem;padding:1rem 0;box-shadow:0 0 30px -5px rgba(0,0,0,.15);z-index:999;list-style:none}.main-menu__list{display:flex;flex-direction:column;align-items:center;row-gap:15px}.main-menu__item{width:100%}.main-menu__link{display:grid;grid-template-columns:1.5rem auto;gap:1rem;padding:.5rem;transition-duration:.25s;align-items:center;border-radius:.5rem;color:#fff;text-decoration:none;white-space:nowrap;width:3rem;overflow-x:clip;transition:width .35s ease;background-color:#222;border-bottom:2px solid #444}.main-menu__link.active{color:#04b4e0;background-color:#444;border-bottom-color:#04b4e0;box-shadow:inset 3px 0 0 #04b4e0}.main-menu__link:hover{width:-moz-max-content;width:max-content}.main-menu__link:hover .main-menu__link-icon{color:#04b4e0}.main-menu__link-icon{font-size:30px}.main-menu__link-text{font-size:14px}.sidebar{display:block;width:100%;height:100%;max-width:380px;text-align:center;overflow:auto}.sidebar__profile{margin-bottom:32px;border-bottom:1px solid #222}.sidebar__profile-avatar{display:inline-block;background-color:#222;overflow:hidden;height:calc(100% - 3.75rem);width:calc(100% - 3.1rem);transition:all .3s ease-in-out;border-bottom-left-radius:50%;border-bottom-right-radius:50%}.sidebar__profile-avatar-img{width:100%;height:100%}.sidebar__profile-name{font-size:32px;color:#fff;margin:5px 0 7px;line-height:1.2em}.sidebar__profile-job{font-size:18px;font-weight:300;color:#04b4e0;margin:5px 0;line-height:1.2em;margin-bottom:32px}.sidebar__info{display:inline-block}.sidebar__info-list-item{color:#04b4e0;font-size:14px;display:flex;align-items:center;margin-bottom:1.75rem;text-overflow:ellipsis;white-space:nowrap}.sidebar__info-list-item-icon{margin-right:10px}.sidebar__info-list-item-text{display:flex;flex-direction:column;align-items:start;row-gap:4px;line-height:1}.sidebar__info-list-item-label{color:#04b4e0;font-size:.75rem;font-weight:400;display:block;opacity:.7;text-transform:uppercase}.sidebar__info-list-item-link{display:block;text-overflow:ellipsis;white-space:nowrap;color:#fff;text-decoration:none}.sidebar__info-social-media{margin-top:16px}.sidebar__info-social-media li{display:inline-block}.sidebar__info-social-media li a{color:#04b4e0;border-radius:20px;padding:0;display:flex;align-items:center;justify-content:center;line-height:30px;height:30px;width:30px;text-align:center;opacity:.9}.sidebar__info-social-media li a:hover{opacity:1;background-color:hsla(0,0%,100%,.2)}.sidebar__info-social-media li a img{height:18px;width:18px}.sidebar__contact{display:flex;border-top:1px solid #222;border-bottom:1px solid #222;margin-top:32px}.sidebar__contact-button{position:relative;float:left;width:50%;height:70px;line-height:70px;font-size:12px;color:#fff;text-align:center;text-decoration:none;text-transform:uppercase;border:none;cursor:pointer;padding:0;min-width:auto;letter-spacing:normal;opacity:1}.sidebar__contact-button:first-child{border-right:1px solid #222}.sidebar__contact-button.active,.sidebar__contact-button:focus,.sidebar__contact-button:hover{color:#04b4e0}.chatbot__bubble{position:fixed;bottom:24px;right:24px;z-index:1000}.chatbot__bubble--bounce{animation:chatbotBounce 2s infinite}@media(max-width:600px){.chatbot__bubble{bottom:16px;right:16px}}.chatbot__widget{position:fixed;bottom:90px;right:24px;z-index:1000;display:flex;flex-direction:column;width:380px;height:580px;max-width:calc(100vw - 48px);max-height:calc(100vh - 120px)}@media(max-width:600px){.chatbot__widget{bottom:30px;right:16px;width:calc(100vw - 32px);max-width:100%;max-height:100%}}.chatbot__content{flex:1;overflow-y:auto;background-color:#f5f5f5;scroll-behavior:smooth}.chatbot__bubble-msg{transition:all .2s ease;word-break:break-word}.chatbot__plain-text{white-space:pre-wrap}.chatbot__timestamp{font-size:10px;margin-top:4px;text-align:right;opacity:.7}.chatbot__powered{font-size:10px;opacity:.5;letter-spacing:.3px}.chatbot__typing{display:flex;align-items:center;gap:4px;height:20px}.chatbot__typing span{display:inline-block;width:7px;height:7px;border-radius:50%;background-color:#9e9e9e;animation:typingDot 1.4s ease-in-out infinite}.chatbot__typing span:first-child{animation-delay:0s}.chatbot__typing span:nth-child(2){animation-delay:.2s}.chatbot__typing span:nth-child(3){animation-delay:.4s}.chatbot__msg-content{font-size:13px;line-height:1.6}.chatbot__msg-content .chatbot-p{margin:0 0 8px 0}.chatbot__msg-content .chatbot-p:last-child{margin-bottom:0}.chatbot__msg-content .chatbot-h2{font-size:14px;font-weight:700;margin:10px 0 4px;color:#1a1a2e}.chatbot__msg-content .chatbot-h3{font-size:13px;font-weight:600;margin:8px 0 3px;color:#37474f}.chatbot__msg-content .chatbot-list{margin:6px 0 6px 4px;padding-left:14px;list-style:disc}.chatbot__msg-content .chatbot-list li{margin-bottom:3px;line-height:1.5}.chatbot__msg-content .chatbot-inline-code{background:rgba(0,0,0,.07);border-radius:3px;padding:1px 5px;font-size:12px}.chatbot__msg-content .chatbot-code{background:#1e1e2e;color:#cdd6f4;border-radius:8px;padding:12px;overflow-x:auto;font-size:12px;margin:8px 0}.chatbot__msg-content .chatbot-code code{background:none;padding:0;font-size:inherit}.chatbot__msg-content a{color:#1976d2;text-decoration:none}.chatbot__msg-content a:hover{text-decoration:underline}.chatbot__msg-content strong{font-weight:700}.chatbot__msg-content em{font-style:italic}.slide-fade-enter-active{transition:all .3s ease-out}.slide-fade-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(20px);opacity:0}@keyframes chatbotBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.home{--v-theme-primary:#04b4e0}.home__title{position:relative;text-align:center;color:#f5f5f5;font-size:60px;line-height:74px;margin:0;animation:homePopIn .8s ease-out forwards}.home__subtitle{color:#04b4e0!important;animation:homeSlideUp .8s ease-out .2s forwards;opacity:0}.home__btn{transition:all .3s ease;box-shadow:0 0 20px rgba(4,180,224,.4)!important;animation:homeFadeIn 1s ease-out .5s forwards;opacity:0}.home__btn:hover{transform:translateY(-2px);box-shadow:0 0 30px rgba(4,180,224,.6)!important}@keyframes homePopIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes homeSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes homeFadeIn{0%{opacity:0}to{opacity:1}}.about-page{--v-theme-primary:#04b4e0}.about-page__bio-text{line-height:1.8;font-size:1.1rem}.about-page__service-card{background-color:#2e2e2e;border:1px solid hsla(0,0%,100%,.05);transition:all .3s ease}.about-page__service-card.on-hover{transform:translateY(-8px);background-color:#383838;border-color:#04b4e0;box-shadow:0 10px 30px -10px rgba(4,180,224,.2)!important}.about-page__service-card .v-card-title{white-space:normal;overflow-wrap:break-word}.about-page__title-decoration{display:inline-block}.about-page__title-decoration:after{content:"";display:block;width:60px;height:4px;background-color:#04b4e0;margin:auto 0;border-radius:2px}.about-page__testimonial-wrap{position:relative}.about-page__testimonial-carousel{border:1px solid hsla(0,0%,100%,.05)}.about-page__carousel-toggle{position:absolute;top:16px;right:16px;z-index:2}.about-page__profile-glow{box-shadow:0 0 30px rgba(4,180,224,.3)!important;border:3px solid #04b4e0}.contact-page{--v-theme-primary:#04b4e0}.contact-page__subtitle{color:#04b4e0!important}.contact-page__card{background-color:#2e2e2e;border:1px solid hsla(0,0%,100%,.05);transition:all .3s ease}.contact-page__card:hover{transform:translateY(-5px);box-shadow:0 10px 30px -10px rgba(4,180,224,.15)!important;border-color:rgba(4,180,224,.3)}.contact-page__detail-text{min-width:0;flex:1 1 auto}.contact-page__link{white-space:normal;word-break:break-word}.contact-page__link:hover{color:#04b4e0;text-decoration:underline}.contact-page__map{background-color:#2e2e2e;border:1px solid hsla(0,0%,100%,.1)}.contact-page__map-frame{border:0;filter:invert(90%) hue-rotate(180deg)}.portfolio-page{--v-theme-primary:#04b4e0}.portfolio-page__subtitle{color:#04b4e0!important}.portfolio-page__project-card{background-color:#2e2e2e;border:1px solid hsla(0,0%,100%,.05);transition:all .3s ease;overflow:hidden}.portfolio-page__project-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px -10px rgba(4,180,224,.25)!important;border-color:#04b4e0}.portfolio-page__title-decoration{display:block;width:60px;height:4px;background-color:#04b4e0;border-radius:2px}.portfolio-page__line-clamp{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.portfolio-page__gap{gap:8px}.portfolio-page__chip-bg{background:hsla(0,0%,100%,.05)!important}.portfolio-page__animate-slide-in{opacity:0;animation:portfolioSlideInUp .6s ease-out forwards}@keyframes portfolioSlideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}:root{interpolate-size:allow-keywords}.resume-page{--v-theme-primary:#04b4e0}.resume-page__subtitle{color:#04b4e0!important}.resume-page__card{background-color:#2e2e2e;border:1px solid hsla(0,0%,100%,.05);transition:all .3s ease}.resume-page__card.on-hover{transform:translateY(-5px);background-color:#383838;border-color:#04b4e0;box-shadow:0 10px 30px -10px rgba(4,180,224,.2)!important}.resume-page__title-decoration{display:inline-block;width:100%}.resume-page__title-decoration:after{content:"";display:block;width:60px;height:4px;background-color:#04b4e0;margin:16px 0;border-radius:2px}.resume-page__link-hover{transition:color .2s}.resume-page__link-hover:hover{color:#04b4e0!important;text-decoration:underline}.resume-page__sticky-sidebar{position:sticky;top:90px}.resume-page__gap{gap:8px}.resume-page__chip-bg{background:hsla(0,0%,100%,.03)}.resume-page__job-divider{border-color:hsla(0,0%,100%,.1)}.resume-page__tasks-title strong{font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase}.resume-page__task-list{list-style:none;padding:0;margin:0}.resume-page__task-list li::marker{color:#04b4e0}.resume-page__task-item{line-height:1.4}.resume-page__task-item+.resume-page__task-item{margin-top:6px}.resume-page__animate-slide-in{opacity:0;animation:resumeSlideInRight .6s ease-out forwards}@keyframes resumeSlideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.resume-page ::v-deep(.v-expansion-panel-title__overlay){opacity:0!important}.resume-page ::v-deep(.v-expansion-panel-text__wrapper){padding:16px 0 0 0!important}.resume-page ::v-deep(.v-timeline-item__body){padding-left:16px!important}.devhub-page__card{background:#2b2b2b;border:1px solid hsla(0,0%,100%,.08);transition:all .3s ease-in-out}.devhub-page__card.on-hover{transform:translateY(-5px);border-color:var(--v-primary-base,#04b4e0)!important;box-shadow:0 10px 20px rgba(0,0,0,.3)!important}.devhub-page__icon-box{border:1px solid rgba(4,180,224,.3)}.white-space-normal{white-space:normal!important;line-height:1.3}.infographic-container{background:#1e1e1e;min-height:100vh;color:#fff}.back-bar{background:rgba(0,0,0,.2);border-bottom:1px solid hsla(0,0%,100%,.06)}.hero-section{background:radial-gradient(circle at top,rgba(4,180,224,.08) 0,transparent 70%)}.hero-section .highlight-text{background:linear-gradient(135deg,#04b4e0,#00d2ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.max-w-800{max-width:800px}.stats-row .stat-box{background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.06);min-width:140px;transition:all .2s ease}.stats-row .stat-box:hover{background:hsla(0,0%,100%,.04);border-color:rgba(4,180,224,.3);transform:translateY(-2px)}.stats-row .stat-box .stat-num{font-size:2rem;line-height:1.2}.sticky-nav{position:sticky;top:0;z-index:100;background:rgba(30,30,30,.9);backdrop-filter:blur(10px);border-bottom:1px solid hsla(0,0%,100%,.06)}.nav-wrapper{display:flex;align-items:center;gap:12px;max-width:100%}.nav-cat-label{flex-shrink:0;white-space:nowrap}.nav-scroll{display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;flex:1;min-width:0;scrollbar-width:none}.nav-scroll::-webkit-scrollbar{display:none}.nav-pill{flex-shrink:0}.section-wrap{scroll-margin-top:120px}.section-line{height:1px;background:linear-gradient(90deg,hsla(0,0%,100%,.1),transparent)}.section-badge{border:1px solid hsla(0,0%,100%,.05)}.bg-yellow-dim{background:rgba(245,197,24,.1);color:#f5c518}.bg-blue-dim,.bg-primary-dim{background:rgba(4,180,224,.1);color:#04b4e0}.method-card{background:#252525;border:1px solid hsla(0,0%,100%,.06);height:100%;box-shadow:0 4px 20px rgba(0,0,0,.15);transition:all .3s ease-in-out;scroll-margin-top:80px}.method-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.3);border-color:hsla(0,0%,100%,.1)}.method-card .method-name{letter-spacing:-.5px}.visual-block{background:rgba(0,0,0,.15);border:1px solid hsla(0,0%,100%,.03)}.visual-block .arr-container{background:hsla(0,0%,100%,.01);padding:2px;border-radius:6px}.visual-block .cell{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:12px;border:1.5px solid hsla(0,0%,100%,.15);border-radius:4px}.visual-block .cell-in{background:hsla(0,0%,100%,.03)}.visual-block .cell-large{width:48px;font-size:11px}.code-pre-wrap{background:#181818;border:1px solid hsla(0,0%,100%,.04);padding:12px;overflow-x:auto}.code-pre-wrap pre{margin:0}.code-pre-wrap code{font-size:12px;line-height:1.5;background:transparent!important;padding:0!important;color:#e6e6e6}.result-block{background:rgba(0,0,0,.2);border-left:2px solid hsla(0,0%,100%,.2)}.traps-block{background:rgba(255,82,82,.03);border:1.5px solid rgba(255,82,82,.08)}.traps-block ul{margin:0}.interview-block{background:rgba(4,180,224,.03);border:1.5px solid rgba(4,180,224,.08)}.recap-table-wrap{background:#252525;border:1px solid hsla(0,0%,100%,.06);overflow-x:auto}.recap-table-wrap table{border-collapse:collapse}.recap-table-wrap table thead{background:rgba(0,0,0,.2);border-bottom:1.5px solid hsla(0,0%,100%,.06)}.recap-table-wrap table tr.recap-row{border-bottom:1px solid hsla(0,0%,100%,.04);cursor:pointer;transition:background .15s}.recap-table-wrap table tr.recap-row:hover{background:rgba(4,180,224,.05)}.recap-table-wrap table .bg-error-dim{background:rgba(255,82,82,.1)}.recap-table-wrap table .bg-success-dim{background:rgba(46,204,113,.1)}.lc-card{background:#2b2b2b;border:1px solid hsla(0,0%,100%,.08);transition:all .3s}.lc-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.25)!important;border-color:rgba(4,180,224,.2)!important}.lc-card .lc-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center}.must-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.must-card{background:#252525;border:1px solid hsla(0,0%,100%,.06);cursor:pointer;transition:all .3s}.must-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.25);border-color:hsla(0,0%,100%,.1)}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}h1,h2,h3,h4,h5,h6{color:#eee;font-weight:600}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:reduce){.home__btn,.home__subtitle,.portfolio-page__animate-slide-in,.resume-page__animate-slide-in{animation:none!important;opacity:1!important;transform:none!important}}