.navbar{width:100%!important;height:60px!important;background-color:#445461;display:flex!important;align-items:center!important;justify-content:center!important;position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:9999!important;overflow:visible;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 2px 20px #0000001a;margin:0!important;padding:0}ul{list-style:none;display:flex;align-items:center;justify-content:center;gap:4vw;max-width:fit-content;padding:0;margin:0;position:relative}ul li{padding:.5rem;font-size:.999rem;transition:all .2s}ul li:hover{cursor:pointer;transform:translateY(2px)}ul li:active{transform:translateY(4px)}ul li.active{font-weight:700;color:#77a3c0}.progress-indicator{position:absolute;bottom:0;left:0;height:3px;background-color:#3498db;transition:width .3s ease}@keyframes pulsate{0%{box-shadow:0 0 10px #3498db99}50%{box-shadow:0 0 20px #6bc4ffcc}to{box-shadow:0 0 10px #3498db99}}@keyframes pulsateCream{0%{box-shadow:0 0 15px #b8a991cc,0 0 25px #b8a99199,0 0 35px #b8a99166,inset 0 1px #fff8f0cc,inset 0 -1px #8b7d6b4d;transform:scaleY(1)}50%{box-shadow:0 0 20px #b8a991,0 0 35px #b8a991cc,0 0 50px #b8a99199,0 0 65px #b8a9914d,inset 0 1px #fff8f0,inset 0 -1px #8b7d6b66;transform:scaleY(1.1)}to{box-shadow:0 0 15px #b8a991cc,0 0 25px #b8a99199,0 0 35px #b8a99166,inset 0 1px #fff8f0cc,inset 0 -1px #8b7d6b4d;transform:scaleY(1)}}.progress-indicator{position:absolute;bottom:0;left:0;height:3px;background-color:var(--progress-bar);transition:width .3s ease;box-shadow:0 0 10px #3498db99;animation:pulsate 1.5s infinite ease-in-out}[data-theme=cream] .progress-indicator{background:linear-gradient(90deg,#b8a991cc,#b8a991,#b8a991cc);box-shadow:0 0 15px #b8a991cc,0 0 25px #b8a99199,0 0 35px #b8a99166,inset 0 1px #fff8f0cc,inset 0 -1px #8b7d6b4d;height:4px;border-radius:2px;animation:pulsateCream 2s infinite ease-in-out}@keyframes pulsateColourful{0%{box-shadow:0 0 15px #fcde6ecc,0 0 25px #fcde6e99;transform:scaleY(1)}50%{box-shadow:0 0 20px #fcde6e,0 0 35px #fcde6ecc;transform:scaleY(1.2)}to{box-shadow:0 0 15px #fcde6ecc,0 0 25px #fcde6e99;transform:scaleY(1)}}[data-theme=colourful] .progress-indicator{background:#fcde6e;box-shadow:0 0 15px #fcde6ecc,0 0 25px #fcde6e99;height:4px;border-radius:2px;animation:pulsateColourful 2s infinite ease-in-out}@media (max-width: 768px){.mobile-menu-toggle{display:flex!important;visibility:visible!important;opacity:1!important}ul{position:fixed;top:0;bottom:0;left:-100%;width:320px;height:100%;min-height:100vh;background:rgba(var(--navbar-bg-rgb, 68, 84, 97),.95);flex-direction:column;justify-content:flex-start;align-items:center;gap:2.5rem;padding:3rem 0;padding-top:100px;padding-bottom:3rem;transition:left .4s cubic-bezier(.25,.46,.45,.94);z-index:9999;display:flex;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:none}ul.mobile-open{left:0}ul li{font-size:1.2rem;padding:.875rem 1.75rem;margin:0;width:auto;text-align:center;opacity:0;transform:translate(-30px);transition:all .4s cubic-bezier(.25,.46,.45,.94)}ul li:first-child{margin-top:1rem}ul.mobile-open li{opacity:1;transform:translate(0)}ul.mobile-open li:nth-child(1){transition-delay:.1s}ul.mobile-open li:nth-child(2){transition-delay:.2s}ul.mobile-open li:nth-child(3){transition-delay:.3s}ul.mobile-open li:nth-child(4){transition-delay:.4s}}@media (max-width: 480px){.navbar{height:50px}ul{top:0;bottom:0;height:100%;min-height:100vh;gap:2rem;padding:2.5rem 0;padding-top:90px;padding-bottom:2.5rem}ul li{font-size:1rem;padding:.8rem 1.5rem;transform:translate(-40px);font-weight:500}ul li:first-child{margin-top:1rem}ul.mobile-open li{transform:translate(0)}.progress-indicator{height:2px}.mobile-menu-toggle{width:28px;height:28px}.hamburger-line{width:18px}}@media (max-width: 400px){.navbar{height:50px}ul{gap:8vw;padding:0 .5rem}ul li{font-size:.9rem;padding:.4rem 1rem}ul li:first-child{margin-top:5rem}.progress-indicator{height:2px}.theme-switch-container{right:.5rem;transform:translateY(-50%) scale(.9)}}.theme-switch-container{position:absolute;right:1rem;top:50%;transform:translateY(-50%);z-index:10000}@media (max-width: 768px){.theme-switch-container{right:.5rem;z-index:10000}}.theme-switch-button{width:40px;height:40px;border-radius:50%;border:2px solid var(--navbar-active);background-color:var(--navbar-bg);color:var(--navbar-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .3s ease}.theme-switch-button:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000004d}.theme-switch-button:active{transform:none;box-shadow:none;background-color:var(--navbar-bg);border-color:var(--navbar-active)}.theme-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-secondary, rgba(255, 255, 255, .1));border:1px solid var(--text-secondary, rgba(255, 255, 255, .2));border-radius:16px;box-shadow:0 8px 32px #00000026,0 4px 16px #0000001a,inset 0 1px #ffffff1a;min-width:160px;overflow:hidden;z-index:999999;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);transform-origin:top right;animation:dropdownAppear .2s cubic-bezier(.4,0,.2,1) forwards;transition:background-color .3s ease,border-color .3s ease}@keyframes dropdownAppear{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdownDisappear{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-2px) scale(.99)}}.theme-dropdown.closing{animation:dropdownDisappear .3s cubic-bezier(.16,1,.3,1) forwards}.theme-option{padding:14px 20px;color:var(--navbar-text);cursor:pointer;transition:background .3s cubic-bezier(.16,1,.3,1),color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);font-size:14px;font-weight:500;position:relative;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(-4px);animation:slideInOption .4s cubic-bezier(.16,1,.3,1) forwards;will-change:transform,opacity}.theme-option:not(:last-child){border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 1px #0000001a}.theme-option:nth-child(1){animation-delay:.05s}.theme-option:nth-child(2){animation-delay:.1s}.theme-option:nth-child(3){animation-delay:.15s}.theme-option:nth-child(4){animation-delay:.2s}.theme-dropdown.closing .theme-option{animation:slideOutOption .3s cubic-bezier(.16,1,.3,1) forwards}.theme-dropdown.closing .theme-option:nth-child(1){animation-delay:.1s}.theme-dropdown.closing .theme-option:nth-child(2){animation-delay:.07s}.theme-dropdown.closing .theme-option:nth-child(3){animation-delay:.04s}.theme-dropdown.closing .theme-option:nth-child(4){animation-delay:.01s}@keyframes slideInOption{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutOption{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.theme-option:first-child{border-radius:15px 15px 0 0}.theme-option:last-child{border-radius:0 0 15px 15px;border-bottom:none}.theme-option:hover{background:var(--navbar-active, rgba(255, 255, 255, .15));color:var(--navbar-text);box-shadow:inset 0 1px #fff3}.theme-option.active:after{content:"✓";font-size:12px;font-weight:700;color:var(--navbar-text)}.theme-option:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.3),transparent);opacity:0;transition:opacity .2s ease;border-radius:0 3px 3px 0}:root,[data-theme=default]{--navbar-bg: #445461;--navbar-bg-rgb: 68, 84, 97;--navbar-text: #ffffff;--navbar-active: #77a3c0;--progress-bar: #496374;--bg-primary: #1e2225;--bg-secondary: #2c3e50;--text-primary: #f0f0f0;--text-secondary: #cccccc;--caret-color: #77a3c0;--tile1-bg: #5a5e61;--tile2-bg: #3d4245;--tile3-bg: #34383a;--tile4-bg: #2b2f31;--tile5-bg: #222527;--scrollbar-track: transparent;--scrollbar-thumb: rgba(119, 163, 192, .4);--scrollbar-thumb-hover: rgba(119, 163, 192, .6);--scroll-easing: cubic-bezier(.25, .46, .45, .94);--scroll-duration: .8s;--scroll-easing-fast: cubic-bezier(.16, 1, .3, 1);--scroll-easing-bounce: cubic-bezier(.68, -.55, .265, 1.55)}::selection{background:#77a3c066;color:#fff}[data-theme=cream]{--navbar-bg: #f5f5dc;--navbar-bg-rgb: 245, 245, 220;--navbar-text: #6b5b4f;--navbar-active: #8b7d6b;--progress-bar: #b8a991;--bg-primary: #f0ede8;--bg-secondary: #f8f6f0;--text-primary: #5a4f45;--text-secondary: #8b7d6b;--caret-color: #8b7d6b;--tile1-bg: #f8f6f3;--tile2-bg: #f0ede8;--tile3-bg: #e8e3dc;--tile4-bg: #e0d9d0;--tile5-bg: #d8cfc4;--scrollbar-track: transparent;--scrollbar-thumb: rgba(139, 125, 107, .3);--scrollbar-thumb-hover: rgba(139, 125, 107, .5);--scroll-easing: cubic-bezier(.25, .46, .45, .94);--scroll-duration: .8s;--scroll-easing-fast: cubic-bezier(.16, 1, .3, 1);--scroll-easing-bounce: cubic-bezier(.68, -.55, .265, 1.55)}[data-theme=cream] ::selection{background:#b8a99166;color:#5a4f45}[data-theme=colourful]{--navbar-bg: #2d2d2d;--navbar-bg-rgb: 45, 45, 45;--navbar-text: #f8f8f2;--navbar-active: #b4ccd8;--progress-bar: #fcde6e;--bg-primary: #f8f8f2;--bg-secondary: #f0f0ea;--text-primary: #2d2d2d;--text-secondary: #666666;--caret-color: #b4ccd8;--tile1-bg: #fcde6e;--tile2-bg: #c4d78d;--tile3-bg: #f482a3;--tile4-bg: #c0b0e3;--tile5-bg: #b4ccd8;--scrollbar-track: transparent;--scrollbar-thumb: rgba(180, 204, 216, .4);--scrollbar-thumb-hover: rgba(180, 204, 216, .6);--scroll-easing: cubic-bezier(.25, .46, .45, .94);--scroll-duration: .8s;--scroll-easing-fast: cubic-bezier(.16, 1, .3, 1);--scroll-easing-bounce: cubic-bezier(.68, -.55, .265, 1.55)}[data-theme=colourful] ::selection{background:#fcde6e80;color:#2d2d2d}html[data-theme=default] ::-webkit-scrollbar{width:8px;height:8px;background-color:transparent!important;background:transparent!important}html[data-theme=default] ::-webkit-scrollbar-track{background-color:transparent!important;background:transparent!important}html[data-theme=default] ::-webkit-scrollbar-thumb{background-color:#77a3c080!important;background:#77a3c080!important;border-radius:10px;border:none!important}html[data-theme=default] ::-webkit-scrollbar-thumb:hover{background-color:#77a3c0b3!important;background:#77a3c0b3!important}html[data-theme=default] ::-webkit-scrollbar-corner{background-color:transparent!important;background:transparent!important}html[data-theme=cream] ::-webkit-scrollbar{width:8px;height:8px;background-color:transparent!important;background:transparent!important}html[data-theme=cream] ::-webkit-scrollbar-track{background-color:transparent!important;background:transparent!important}html[data-theme=cream] ::-webkit-scrollbar-thumb{background-color:#8b7d6b80!important;background:#8b7d6b80!important;border-radius:10px;border:none!important}html[data-theme=cream] ::-webkit-scrollbar-thumb:hover{background-color:#8b7d6bb3!important;background:#8b7d6bb3!important}html[data-theme=cream] ::-webkit-scrollbar-corner{background-color:transparent!important;background:transparent!important}html[data-theme=colourful] ::-webkit-scrollbar{width:8px;height:8px;background-color:transparent!important;background:transparent!important}html[data-theme=colourful] ::-webkit-scrollbar-track{background-color:transparent!important;background:transparent!important}html[data-theme=colourful] ::-webkit-scrollbar-thumb{background-color:#b4ccd880!important;background:#b4ccd880!important;border-radius:10px;border:none!important}html[data-theme=colourful] ::-webkit-scrollbar-thumb:hover{background-color:#b4ccd8b3!important;background:#b4ccd8b3!important}html[data-theme=colourful] ::-webkit-scrollbar-corner{background-color:transparent!important;background:transparent!important}html[data-theme=default]{scrollbar-width:thin;scrollbar-color:rgba(119,163,192,.5) transparent!important}html[data-theme=cream]{scrollbar-width:thin;scrollbar-color:rgba(139,125,107,.5) transparent!important}html[data-theme=colourful]{scrollbar-width:thin;scrollbar-color:rgba(180,204,216,.5) transparent!important}html[data-theme] *::-webkit-scrollbar-thumb{transition:background .6s cubic-bezier(.25,.46,.45,.94),transform .2s ease,opacity .6s ease!important}html[data-theme] body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)!important;transition:background .6s ease,opacity .6s ease,transform .2s ease!important}html{scroll-behavior:smooth;scroll-padding-top:80px;font-smooth:always;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-y:bounce}section{scroll-margin-top:80px;scroll-snap-align:start;scroll-snap-stop:normal;transition:opacity .6s ease-in-out}@supports (scroll-behavior: smooth){html,*{scroll-behavior:smooth}}html,body{isolation:isolate}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}@keyframes section-fade-in{0%{opacity:.7}to{opacity:1}}@keyframes page-bounce{0%{transform:translateZ(0)}30%{transform:translate3d(0,-6px,0)}60%{transform:translate3d(0,-2px,0)}to{transform:translateZ(0)}}.page-bounce,#root.page-bounce{animation:page-bounce .4s cubic-bezier(.25,.46,.45,.94)}@media (max-width: 768px){html{scroll-padding-top:60px}body{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}section{scroll-margin-top:60px}}.navbar{background-color:var(--navbar-bg);color:var(--navbar-text)}div.navbar,.navbar{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:10000!important;transform:none!important;transition:background-color .3s ease,backdrop-filter .3s ease}.page-bounce .navbar,#root.page-bounce .navbar{animation:none!important;transform:none!important}.mobile-menu-toggle{display:none;position:absolute;left:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:10px;z-index:99999!important;flex-direction:column;gap:5px;width:40px;height:40px;justify-content:center;align-items:center;pointer-events:all;border-radius:8px;transition:background-color .3s ease}.hamburger-line{width:22px;height:3px;background-color:var(--navbar-text);transition:all .4s cubic-bezier(.25,.46,.45,.94);transform-origin:center;display:block!important;border-radius:2px;box-shadow:0 1px 2px #0000001a}.hamburger-line.open:nth-child(1){transform:rotate(45deg) translate(11px)}.hamburger-line.open:nth-child(2){opacity:0;transform:scale(0)}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(11px)}ul li{color:var(--navbar-text)}ul li.active{color:var(--navbar-active)}.progress-indicator{background-color:var(--progress-bar)}[data-theme=colourful] .navbar{background-color:#b7ceda;border-bottom:1px solid #1a1a1a!important;box-shadow:0 2px 12px #0000004d!important}[data-theme=colourful] ul li.active{color:#f482a3!important}[data-theme=colourful] .theme-switch-button{border-color:#fcde6e!important;background-color:#fcde6e!important;color:#2d2d2d!important}[data-theme=colourful] .theme-switch-button:hover{background-color:#fcde6e!important;border-color:#fcde6e!important;color:#2d2d2d!important;transform:scale(1.1)}[data-theme=colourful] .theme-dropdown{background:#f8f8f2!important;border:2px solid #fcde6e!important}[data-theme=colourful] .theme-option{color:#2d2d2d!important}[data-theme=colourful] .theme-option:hover{background:#fcde6e!important;color:#2d2d2d!important}[data-theme=colourful] .theme-option.active:after{color:#f482a3!important}.theme-transition-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999999;opacity:0;will-change:clip-path}-ms-overflow-style: none; scrollbar-width: none;.hero{width:100%;height:100vh;background-color:var(--bg-primary, black);display:flex;flex-direction:column;align-items:center;transition:background-color .3s ease;margin-top:-60px}.tiles{width:100%;border-top:.5px solid #323232;transform:translateY(-320%);opacity:0;will-change:transform,opacity;flex-shrink:0}.tiles:last-child{border-bottom:.5px solid #323232}#tile1{display:none}#tile2{background-color:var(--tile2-bg, #3d4245);height:25vh;transition:background-color .3s ease;margin-top:30px}#tile3{background-color:var(--tile3-bg, #34383a);font-size:30px;display:flex;align-items:center;height:25vh;transition:background-color .3s ease}.name{font-size:4.5rem;font-size:clamp(2rem,5vw,4.5rem);max-width:fit-content;margin-left:6rem;color:var(--text-primary, inherit);transition:color .3s ease}#tile4{background-color:var(--tile4-bg, #2b2f31);font-size:20px;display:flex;transition:background-color .3s ease;align-items:center;position:relative;overflow:hidden;height:25vh}.text-container{position:absolute;width:100%;height:100%;display:flex;align-items:center;overflow:hidden;margin-left:6rem}.rotatingText{color:var(--text-secondary, #969696);font-size:3.5rem;font-size:clamp(1.5rem,3.5vw,3.5rem);font-weight:700;position:absolute;white-space:nowrap;width:100%;height:100%;display:flex;align-items:center;transition:color .3s ease}.letter{display:inline-block;transition:transform .6s ease,opacity .6s ease}#tile5{background-color:var(--tile5-bg, #222527);transition:background-color .3s ease;height:25vh}@media (max-width: 1200px){.name{font-size:3.5rem;margin-left:4rem}.text-container{margin-left:4rem}.rotatingText{font-size:2.5rem}}@media (max-width: 768px){.tiles{transform:translateY(-200%)}.name{font-size:2.5rem;margin-left:2rem}.text-container{margin-left:2rem}.rotatingText{font-size:2rem}}@media (max-width: 480px){.tiles{transform:translateY(-100%)}#tile1{display:none}.name{font-size:2rem;margin-left:2.5rem}.text-container{margin-left:2.5rem}.rotatingText{font-size:1.5rem}}@media (max-width: 360px){.tiles{transform:translateY(-50%)}.name{font-size:1.8rem;margin-left:2rem;padding-right:1.2rem}.text-container{margin-left:2rem}.rotatingText{font-size:1.2rem}}[data-theme=colourful] .name,[data-theme=colourful] .rotatingText{color:#f8f8f2!important}.work{width:100%;height:100vh;height:100dvh;background-color:var(--bg-primary, #1e2225);color:var(--text-primary, #ecf3f9);padding:4rem 0;position:relative;overflow:hidden;margin:0;box-sizing:border-box;display:flex;flex-direction:column;transition:background-color .3s ease,color .3s ease}.work-header{text-align:center;position:relative;z-index:2;padding:0 2rem;flex-shrink:0}.work-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--text-primary, #ecf3f9);margin-bottom:1rem;letter-spacing:-.02em;transition:color .3s ease}.work-subtitle{font-size:1.2rem;color:var(--text-secondary, #9ca3af);max-width:600px;margin:0 auto;line-height:1.6;transition:color .3s ease}[data-theme=cream] .work{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}[data-theme=cream] .work-title{color:var(--text-primary)!important}[data-theme=cream] .work-subtitle{color:var(--text-secondary)!important}[data-theme=cream] .project-card{background-color:var(--bg-secondary)!important;border-color:var(--text-secondary)!important}[data-theme=cream] .project-title{color:var(--text-primary)!important}[data-theme=cream] .project-description{color:var(--text-secondary)!important}[data-theme=cream] .tech-badge,[data-theme=cream] .link-icon{background:var(--navbar-bg)!important;color:var(--navbar-text)!important}[data-theme=cream] .link-icon:hover{background:var(--navbar-active)!important;color:var(--navbar-text)!important}[data-theme=cream] .arrow-icon{background:var(--bg-primary)!important;color:var(--text-secondary)!important}[data-theme=cream] .arrow-icon:hover{background:var(--bg-secondary)!important;color:var(--text-primary)!important}[data-theme=colourful] .work{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}[data-theme=colourful] .work-title{color:var(--text-primary)!important}[data-theme=colourful] .work-subtitle{color:var(--text-secondary)!important}[data-theme=colourful] .project-card{background-color:#f8f8f2!important;border:2px solid #e0e0e0!important;box-shadow:0 4px 12px #00000014!important}[data-theme=colourful] .project-card:hover{box-shadow:0 8px 24px #0000001f!important;border-color:#b4ccd8!important}[data-theme=colourful] .project-title{color:var(--text-primary)!important}[data-theme=colourful] .project-description{color:var(--text-secondary)!important}[data-theme=colourful] .tech-badge{background:var(--tile1-bg)!important;color:#2d2d2d!important;font-weight:700!important}[data-theme=colourful] .link-icon{background:var(--tile3-bg)!important;color:#f8f8f2!important}[data-theme=colourful] .link-icon:hover{background:var(--navbar-active)!important;color:#f8f8f2!important;transform:translateY(-4px)!important}[data-theme=colourful] .arrow-icon{background:var(--tile2-bg)!important;color:#2d2d2d!important}[data-theme=colourful] .arrow-icon:hover{background:var(--navbar-active)!important;color:#f8f8f2!important}.projects-grid{width:100%;padding:2rem 1rem 2rem 3rem;display:flex;flex-direction:row;gap:2rem;position:relative;z-index:2;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-snap-stop:normal;-webkit-overflow-scrolling:touch;flex-grow:1;align-items:center;justify-content:flex-start;box-sizing:border-box;scroll-behavior:smooth;scroll-padding:2rem}.projects-grid{overscroll-behavior-x:contain;scroll-snap-type:x mandatory}.projects-grid::-webkit-scrollbar{height:8px;background-color:transparent!important;background:transparent!important}.projects-grid::-webkit-scrollbar-track{background-color:transparent!important;background:transparent!important}.projects-grid::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)!important;background:var(--scrollbar-thumb)!important;border-radius:10px;border:none!important;transition:background .3s cubic-bezier(.25,.46,.45,.94),transform .2s ease,opacity .3s ease!important}.projects-grid::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)!important;background:var(--scrollbar-thumb-hover)!important}.projects-grid::-webkit-scrollbar-corner{background-color:transparent!important;background:transparent!important}.projects-grid{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent!important}.project-card{display:flex;flex-direction:column;min-width:280px;width:280px;height:320px;background-color:var(--bg-secondary, #2a2d32);border-radius:16px;padding:1.25rem;scroll-snap-align:center;scroll-snap-stop:normal;border:1px solid var(--text-secondary, #393d43);transition:all .3s cubic-bezier(.16,1,.3,1);cursor:pointer;position:relative;overflow:hidden;flex-shrink:0;box-shadow:0 4px 8px #0003}@media (hover: hover) and (pointer: fine){.project-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000004d}.project-card:hover .project-image img{transform:scale(1.05)}.project-card:hover .project-overlay{opacity:1}}.project-image{position:relative;border-radius:12px;overflow:hidden;height:140px;background:#ffffff0d;margin-bottom:1rem}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0000001a,#000000b3);display:flex;align-items:flex-end;padding:1rem;opacity:0;transition:opacity .3s ease}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-badge{background:var(--navbar-bg, rgba(255, 255, 255, .9));color:var(--navbar-text, #111827);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s ease,color .3s ease}.project-content{display:flex;flex-direction:column;flex-grow:1}.project-title{font-size:1.25rem;font-weight:700;margin-bottom:0;color:var(--text-primary, #ecf3f9);line-height:1.2;transition:color .3s ease}.project-description{font-size:.85rem;color:var(--text-secondary, #d1d5db);transition:color .3s ease;line-height:1.4;margin-top:.3rem;margin-bottom:1rem;transition:all .3s ease;flex-grow:1}.card-number{position:absolute;top:2rem;right:2rem;font-size:5rem;font-weight:900;color:#ffffff08;line-height:1;pointer-events:none}.card-actions{position:absolute;bottom:1.25rem;right:1.25rem;display:flex;gap:.5rem;align-items:center}.link-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--navbar-bg, #445461);border-radius:8px;color:var(--navbar-text, #ffffff);text-decoration:none;transition:all .3s ease}.link-icon:hover{background:var(--navbar-active, #4f6170);color:var(--navbar-text, #ffffff);transform:translateY(-2px)}.arrow-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, rgba(255, 255, 255, .1));border:none;border-radius:8px;color:var(--text-secondary, #9ca3af);cursor:pointer;transition:all .3s ease}.arrow-icon:hover{background:var(--bg-secondary, rgba(255, 255, 255, .2));color:var(--text-primary, #ecf3f9);transform:translate(3px)}@media (max-width: 768px){.work{padding:2rem 0}.work-header{padding:0 1rem}.projects-grid{gap:1.5rem;padding:2rem 1rem 2rem 1.5rem}.projects-grid::-webkit-scrollbar{display:none}.projects-grid{scrollbar-width:none;-ms-overflow-style:none}.project-card{min-width:300px;width:300px;padding:1.5rem}.project-title{font-size:1.5rem}.card-number{font-size:3rem;top:1.5rem;right:1.5rem}.arrow-icon{bottom:1.5rem;right:1.5rem}}@media (max-width: 480px){.work-title{font-size:2.5rem}.work-subtitle{font-size:1rem;padding:0 1rem}.project-card{min-width:280px;width:280px;padding:1rem}.project-image{height:160px}.project-title{font-size:1.25rem}.project-description{font-size:.85rem}.project-actions{flex-direction:column;gap:.75rem}.btn-expand{text-align:center;padding:.5rem 1rem;font-size:.8rem}.btn-link{width:36px;height:36px;align-self:center}}.scroll-indicators{position:relative;width:100%;padding:0 2rem;margin-top:1rem;margin-bottom:2rem;display:none;flex-direction:column;align-items:center;gap:1rem;z-index:3}.dot-indicators{display:flex;gap:.75rem;align-items:center;justify-content:center}.dot-indicator{width:8px;height:8px;border-radius:50%;background:var(--text-secondary, rgba(255, 255, 255, .3));border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0;position:relative}.dot-indicator:hover{background:var(--navbar-bg, rgba(255, 255, 255, .5));transform:scale(1.2)}.dot-indicator.active{background:var(--navbar-active, #4f6170);width:24px;border-radius:4px;transform:scale(1)}.dot-indicator.active:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:8px;border:1px solid var(--navbar-active, #4f6170);opacity:.3;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.1;transform:scale(1.1)}}@media (hover: none) and (pointer: coarse){.dot-indicator:active{transform:scale(.9)}}@media (max-width: 768px){.scroll-indicators{display:flex;padding:0 1rem;margin-top:.5rem;margin-bottom:1.5rem;gap:.75rem}.dot-indicators{gap:.5rem}.dot-indicator{width:6px;height:6px}.dot-indicator.active{width:20px}}@media (max-width: 480px){.scroll-indicators{gap:.5rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;min-height:-webkit-fill-available;background:#000000fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:0;margin:0;animation:modalFadeIn .3s ease-out;overflow:hidden}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.modal-container{background:var(--bg-secondary, #2a2d32);border-radius:20px;border:1px solid var(--text-secondary, #393d43);box-shadow:0 25px 50px #0006;max-width:700px;max-height:85vh;width:100%;overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);animation:modalSlideUp .4s cubic-bezier(.4,0,.2,1);transition:background-color .3s ease,border-color .3s ease;display:flex;flex-direction:column}@keyframes modalSlideUp{0%{transform:translate(-50%,calc(-50% + 60px));opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.modal-header{position:absolute;top:1rem;right:1rem;z-index:10}.github-btn{width:44px;height:44px;border-radius:22px;background:#0009;border:none;color:var(--text-secondary, #9ca3af);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-decoration:none}.github-btn:hover{background:var(--bg-secondary, #333);color:var(--text-primary, #ecf3f9);transform:scale(1.05)}.modal-close{width:44px;height:44px;border-radius:22px;background:var(--bg-secondary, rgba(0, 0, 0, .6));border:none;color:var(--text-secondary, #9ca3af);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-close:hover{background:var(--navbar-bg, #333);color:var(--text-primary, #ecf3f9);transform:scale(1.05)}.modal-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem;height:100%;max-height:75vh;overflow-y:auto}.modal-image{position:relative;border-radius:16px;overflow:hidden;background:#ffffff0d;aspect-ratio:16/10}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-info{display:flex;flex-direction:column;color:var(--text-primary, #ecf3f9);transition:color .3s ease}.modal-title{font-size:2rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary, #ecf3f9);line-height:1.2;transition:color .3s ease}.modal-tech-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-badge{background:var(--navbar-bg, rgba(68, 84, 97, .8));color:var(--navbar-text, #ecf3f9);padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;border:1px solid rgba(255,255,255,.1);transition:background .3s ease,color .3s ease,border-color .3s ease}.modal-description{font-size:1rem;color:var(--text-secondary, #d1d5db);line-height:1.6;margin-bottom:1.5rem;flex-grow:1;transition:color .3s ease}.modal-actions{display:flex;gap:1rem;align-items:center}.modal-btn-primary{display:flex;align-items:center;gap:.5rem;background:var(--navbar-bg, #445461);color:var(--navbar-text, #ffffff);text-decoration:none;padding:.875rem 1.5rem;border-radius:12px;font-weight:600;font-size:.95rem;transition:all .3s ease;border:none;cursor:pointer}.modal-btn-primary:hover{background:var(--navbar-active, #4f6170);transform:translateY(-2px);box-shadow:0 8px 16px #4454614d}.modal-btn-secondary{background:transparent;color:var(--text-secondary, #9ca3af);border:1px solid rgba(255,255,255,.2);padding:.875rem 1.5rem;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease}.modal-btn-secondary:hover{background:var(--bg-secondary, rgba(255, 255, 255, .05));color:var(--text-primary, #ecf3f9);border-color:#ffffff4d}.modal-btn-github{display:flex;align-items:center;gap:.5rem;background:var(--bg-secondary, #333);color:var(--text-primary, #ffffff);text-decoration:none;padding:.875rem 1.5rem;border-radius:12px;font-weight:600;font-size:.95rem;transition:all .3s ease;border:none;cursor:pointer}.modal-btn-github:hover{background:var(--navbar-bg, #24292e);transform:translateY(-2px);box-shadow:0 8px 16px #0006}.modal-content::-webkit-scrollbar{width:8px;background-color:transparent!important;background:transparent!important}.modal-content::-webkit-scrollbar-track{background-color:transparent!important;background:transparent!important}.modal-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)!important;background:var(--scrollbar-thumb)!important;border-radius:10px;border:none!important;transition:background .3s cubic-bezier(.25,.46,.45,.94),transform .2s ease,opacity .3s ease!important}.modal-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)!important;background:var(--scrollbar-thumb-hover)!important}.modal-content::-webkit-scrollbar-corner{background-color:transparent!important;background:transparent!important}@media (max-width: 900px){.modal-container{max-width:600px}.modal-content{gap:1.2rem;padding:1.2rem}.modal-title{font-size:1.8rem}}@media (max-width: 768px){.modal-overlay{padding:0;align-items:center}.modal-container{max-width:calc(100% - 1.5rem);max-height:85vh;min-height:auto;width:100%;border-radius:20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-content{grid-template-columns:1fr;gap:1rem;padding:3.5rem 1rem 1rem;max-height:calc(85vh - 2rem);height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-image{height:200px;width:100%;flex-shrink:0}.modal-header{top:.75rem;right:.75rem;position:absolute;z-index:20}.modal-close{width:48px;height:48px;border-radius:50%;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.25);box-shadow:0 4px 12px #00000080}.modal-close:active{transform:scale(.92);background:#000000f2}.modal-title{font-size:1.5rem;margin-bottom:.75rem}.modal-description{font-size:.95rem;margin-bottom:1.25rem;line-height:1.7}.modal-actions{flex-direction:column;align-items:stretch;gap:.75rem;padding-bottom:1rem}.modal-btn-primary,.modal-btn-secondary{text-align:center;justify-content:center;padding:.875rem 1.25rem;font-size:.95rem;min-height:48px}}@media (max-width: 480px){.modal-overlay{padding:0}.modal-container{max-width:calc(100% - 1rem);max-height:85vh;border-radius:16px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-content{padding:3.5rem .875rem .875rem;gap:.875rem;max-height:calc(85vh - 1.75rem)}.modal-image{height:180px;width:100%}.modal-header{top:.5rem;right:.5rem}.modal-close{width:44px;height:44px}.modal-title{font-size:1.4rem;margin-bottom:.6rem}.modal-description{font-size:.9rem;margin-bottom:1rem}.tech-badge{font-size:.75rem;padding:.35rem .7rem}.modal-btn-primary,.modal-btn-secondary{padding:.875rem 1rem;font-size:.9rem;min-height:48px}}@media (max-width: 360px){.modal-overlay{padding:0}.modal-container{max-width:calc(100% - .5rem);max-height:85vh;border-radius:12px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-content{padding:3.25rem .75rem .75rem;gap:.75rem;max-height:calc(85vh - 1.5rem)}.modal-image{height:160px;width:100%}.modal-header{top:.5rem;right:.5rem}.modal-close{width:42px;height:42px}.modal-title{font-size:1.3rem}.modal-description{font-size:.875rem;line-height:1.6}.tech-badge{font-size:.7rem;padding:.3rem .6rem}}.modal-image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2a2d32,#1a1d21);display:flex;align-items:center;justify-content:center;border-radius:16px}.modal-image-placeholder .loader-icon{width:48px;height:48px;color:#ffffff4d;animation:pulse 1.5s ease-in-out infinite}.modal-image img{transition:opacity .3s ease}.about{padding:2rem;background-color:var(--bg-primary, #1e2225);color:var(--text-primary, #f0f0f0);font-family:monospace;transition:background-color .3s ease,color .3s ease}.about-header{display:flex;align-items:center;justify-content:space-between;margin:5rem 0 0 2rem;max-width:fit-content;flex-wrap:wrap}.profile-container{display:flex;align-items:center;gap:1rem;margin-left:3rem}.profile-image-wrapper{position:relative;width:150px;height:150px;border-radius:50%;overflow:hidden}.profile-image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2a2d32,#1a1d21);display:flex;align-items:center;justify-content:center;border-radius:50%}.profile-image-placeholder .loader-icon{width:48px;height:48px;color:#ffffff4d;animation:pulse 1.5s ease-in-out infinite}.profile-image{width:150px;height:150px;border-radius:50%;object-fit:cover;box-shadow:0 4px 8px #0003;transition:all .3s ease,opacity .3s ease}.profile-container:hover .profile-image{transform:scale(1.1)}.profile-info{max-width:600px;margin-left:2rem}.profile-info h2{font-size:2rem;margin-bottom:.5rem}.profile-info p{font-size:1.1rem;line-height:1.6}.toggle-button{color:var(--text-primary, #f0f0f0);font-family:monospace;font-size:1.2rem;border:none;background:transparent;margin-top:1.5rem;max-width:fit-content;position:relative;display:flex;align-items:center;transition:background .3s ease,transform .3s ease,color .3s ease}.toggle-button:hover{cursor:pointer;transform:translateY(3px)}.toggle-button:active{transform:translateY(5px)}.arrowIcon{position:absolute;bottom:10px;right:10px;font-size:2rem;color:var(--text-primary, #f0f0f0);position:static;flex-basis:1rem;margin:.65rem 0 0;transition:all .3s}.toggle-button:hover .arrowIcon{transform:translate(5px)}.toggle-button:active .arrowIcon{transform:translate(7px)}.about-details{overflow:hidden;margin:0 6rem 0 8rem;max-height:0;opacity:0;transition:max-height .5s ease-in-out,opacity .5s ease-in-out,padding-top .5s ease-in-out}.about-details.show{max-height:1000px;opacity:1;padding-top:1rem;transition:max-height .5s ease-in-out,opacity .5s ease-in-out .1s,padding-top .5s ease-in-out}.about-details-content{opacity:0;transition:opacity .3s ease-in-out}.about-details.show .about-details-content{opacity:1;transition:opacity .3s ease-in-out .2s}.about-details h3{margin-top:1.5rem;margin:1.5rem 0 0;font-size:1.5rem}.about-details p{margin:1rem 0 1.2rem;line-height:1.2rem;font-size:1rem}@media (max-width: 768px){.about-header{margin:3rem 1rem}.profile-container{margin-left:auto;margin-right:auto;padding:0 2rem}.profile-image-wrapper,.profile-image{width:100px;height:100px}.profile-info h2{font-size:1.3rem}.profile-info p,.toggle-button{font-size:.9rem}.arrowIcon{margin:.5rem 0 0;font-size:1.1rem}.about-details{margin:0 3.5rem 0 4.5rem}.about-details h3{font-size:1.4rem}.about-details p{font-size:.8rem}}@media (max-width: 480px){.about{padding:2.5rem;border:none}.about-header{flex-direction:column;align-items:center}.profile-container{margin-left:auto;margin-right:auto}.profile-info{margin:1rem 0 0 1rem}.profile-image-wrapper,.profile-image{width:80px;height:80px}.profile-image-placeholder .loader-icon{width:32px;height:32px}.profile-info h2{font-size:1.2rem}.profile-info p,.toggle-button{font-size:.8rem}.arrowIcon{font-size:1rem}.about-details{margin:0 .5rem 0 1rem;padding:0}.about-details h3{font-size:1.2rem}.about-details p{font-size:.7rem}.about-details-collapsed{margin-left:1rem}}@media (max-width: 400px){.profile-container{flex-direction:column}.profile-image{margin:auto}.profile-info{margin:auto;text-align:center}.profile-info h2{margin:auto;margin-bottom:.5rem;align-items:center}.profile-info p{margin:auto;margin-bottom:1rem;align-items:center}.toggle-button{margin:auto}.about-details{text-align:center}}.divider{border:none;border-top:1px solid var(--text-secondary, rgba(255, 255, 255, .1));width:80%;margin:5rem auto 0;transition:border-color .3s ease}.certificates{width:100%;min-height:auto;background-color:var(--bg-primary, #1e2225);color:var(--text-primary, #ecf3f9);padding:4rem 2rem;position:relative;overflow:visible;box-sizing:border-box;transition:background-color .3s ease,color .3s ease}.certificates-header{text-align:center;margin-bottom:3rem;position:relative;z-index:2}.certificates-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--text-primary, #ecf3f9);margin-bottom:1rem;letter-spacing:-.02em;transition:color .3s ease}[data-theme=cream] .certificates{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}[data-theme=cream] .certificates-title{color:var(--text-primary)!important}[data-theme=cream] .certificate-card{background-color:var(--bg-secondary)!important;border-color:var(--text-secondary)!important}[data-theme=cream] .certificate-title{color:var(--text-primary)!important}[data-theme=cream] .certificate-issuer,[data-theme=cream] .certificate-date{color:var(--text-secondary)!important}[data-theme=cream] .certificate-category-icon,[data-theme=cream] .badge-text{background:var(--navbar-bg)!important;color:var(--navbar-text)!important}[data-theme=cream] .certificate-overlay{background:linear-gradient(to bottom,#0006,#000000eb)!important}[data-theme=cream] .certificate-overlay .certificate-title{color:#fff!important}[data-theme=cream] .certificate-overlay .certificate-issuer{color:#ffffffe6!important}[data-theme=cream] .certificate-overlay .certificate-date{color:#fffc!important}.certificates-bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:210px;gap:1rem;max-width:1400px;margin:0 auto 2rem;position:relative;z-index:2;grid-auto-flow:row}@keyframes slideUpFade{0%{opacity:0;transform:translateY(80px)}60%{opacity:.8}to{opacity:1;transform:translateY(0)}}.certificate-card{background-color:var(--bg-secondary, #2a2d32);border-radius:12px;padding:0;border:1px solid var(--text-secondary, #393d43);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;z-index:1;opacity:0;transform:translateY(80px)}.certificate-image{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1}.certificate-image img{width:100%;height:100%;object-fit:cover;border-radius:12px;transition:transform .8s cubic-bezier(.34,1.56,.64,1);will-change:transform}.certificate-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0000004d,#000000e6);padding:1.25rem;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1) .1s;z-index:2}.certificate-overlay-content{color:#fff}.certificate-description{font-size:.75rem;line-height:1.4;margin:.5rem 0;color:#ffffffe6}.certificate-credential{font-size:.7rem;color:#ffffffb3;margin:.25rem 0;font-family:monospace}.certificate-skills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.skill-tag{background:#fff3;padding:.2rem .5rem;border-radius:12px;font-size:.65rem;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.certificates-bento.animate-in .certificate-card{animation:slideUpFade .7s cubic-bezier(.25,.46,.45,.94) forwards}.certificate-card{transition:transform .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1)}.certificates-bento.animate-in .certificate-card{transition:none}.certificate-card.small{grid-column:span 1;grid-row:span 1}.certificate-card.tall{grid-column:span 1;grid-row:span 2}.certificate-card.wide{grid-column:span 2;grid-row:span 1}.certificate-card.large{grid-column:span 2;grid-row:span 2}@media (hover: hover) and (pointer: fine){.certificate-card:hover{transform:translateY(-8px);box-shadow:0 16px 32px #00000040;border-color:var(--navbar-active, #4f6170);z-index:10}.certificate-card:hover .certificate-overlay{opacity:1;transition-delay:.05s}.certificate-card:hover .certificate-image img{transform:scale(1.06);transition-delay:.1s}}.certificate-card.work{background-color:#3b82f626}.certificate-card.internship{background-color:#8b5cf626}.certificate-card.skills{background-color:#22c55e26}.certificate-overlay .certificate-title{font-size:1.125rem;font-weight:700;color:#fff;margin-bottom:.5rem;line-height:1.2}.certificate-overlay .certificate-issuer{font-size:.875rem;color:#ffffffe6;margin-bottom:.35rem}.certificate-overlay .certificate-date{font-size:.75rem;color:#fffc}.certificate-badge{position:absolute;top:1rem;right:1rem;z-index:3}.badge-text{background:var(--navbar-bg, #445461);color:var(--navbar-text, #ffffff);padding:.25rem .625rem;border-radius:16px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease}.certificate-card.view-more-card{background:transparent;border:2px dashed var(--navbar-bg, #445461);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .5s cubic-bezier(.4,0,.2,1)}.view-more-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%;height:100%}.view-more-title{font-size:1.125rem;font-weight:700;color:var(--text-primary, #ecf3f9);margin:0;transition:color .3s ease}.view-more-card svg.arrow-icon{width:40px;height:40px;stroke:var(--text-primary, #ecf3f9);transition:transform .5s cubic-bezier(.4,0,.2,1);transform:rotate(0)}.view-more-card:hover{transform:translateY(-8px);box-shadow:0 16px 32px #00000040;border-color:var(--navbar-active, #4f6170);border-style:solid}.view-more-card:hover svg.arrow-icon{transform:rotate(45deg)}[data-theme=cream] .view-more-card{background:transparent!important;border-color:var(--navbar-bg)!important}[data-theme=cream] .view-more-title,[data-theme=cream] .view-more-card svg{color:var(--text-primary)!important;stroke:var(--text-primary)!important}[data-theme=colourful] .certificates{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}[data-theme=colourful] .certificates-title{color:var(--text-primary)!important}[data-theme=colourful] .certificate-card{background-color:#f8f8f2!important;border:2px solid #e0e0e0!important;box-shadow:0 4px 12px #00000014!important}[data-theme=colourful] .certificate-title{color:var(--text-primary)!important}[data-theme=colourful] .certificate-issuer,[data-theme=colourful] .certificate-date{color:var(--text-secondary)!important}[data-theme=colourful] .certificate-category-icon{background:linear-gradient(135deg,#b4ccd8,#c0b0e3)!important;color:#f8f8f2!important}[data-theme=colourful] .badge-text{background:var(--tile3-bg)!important;color:#f8f8f2!important;font-weight:700!important}[data-theme=colourful] .certificate-card.work{background:linear-gradient(135deg,#c4d78d26,#c4d78d0d)!important;border-color:#c4d78d!important}[data-theme=colourful] .certificate-card.internship{background:linear-gradient(135deg,#fcde6e26,#fcde6e0d)!important;border-color:#fcde6e!important}[data-theme=colourful] .certificate-card.skills{background:linear-gradient(135deg,#b4ccd826,#b4ccd80d)!important;border-color:#b4ccd8!important}[data-theme=colourful] .view-more-card{background:transparent!important;border:2px dashed #c0b0e3!important}[data-theme=colourful] .view-more-card:hover{border-color:#b4ccd8!important;border-style:solid!important}[data-theme=colourful] .view-more-title,[data-theme=colourful] .view-more-card svg{color:var(--text-primary)!important;stroke:var(--text-primary)!important}[data-theme=colourful] .certificate-overlay{background:linear-gradient(to bottom,#0006,#000000eb)!important}[data-theme=colourful] .certificate-overlay .certificate-title{color:#fff!important}[data-theme=colourful] .certificate-overlay .certificate-issuer{color:#ffffffe6!important}[data-theme=colourful] .certificate-overlay .certificate-date{color:#fffc!important}@media (max-width: 1200px){.certificates-bento{grid-template-columns:repeat(3,1fr);grid-auto-rows:180px;margin:0 auto 2rem}}@media (max-width: 768px){.certificates{padding:2rem 1rem}.certificates-bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;gap:1rem;margin:0 auto 2rem}.certificate-card.small,.certificate-card.wide{grid-column:span 1;grid-row:span 1}.certificate-card.tall{grid-column:span 1;grid-row:span 2}.certificate-title{font-size:1rem}.certificate-category-icon{width:40px;height:40px;margin-bottom:.75rem}.certificate-category-icon svg{width:20px;height:20px}.certificate-badge{top:.75rem;right:.75rem}}@media (max-width: 480px){.certificates-title{font-size:2rem}.certificates-bento{grid-template-columns:1fr;grid-auto-rows:180px;gap:1rem;margin:0 auto 2rem}.certificate-card{padding:1rem}.certificate-card.small,.certificate-card.wide{grid-column:span 1;grid-row:span 1}.certificate-card.tall{grid-column:span 1;grid-row:span 2}.certificate-title{font-size:1rem}.certificate-issuer{font-size:.8rem}.certificate-date{font-size:.7rem}}.certificate-image .image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2a2d32,#1a1d21);display:flex;align-items:center;justify-content:center;border-radius:12px}.certificate-image .loader-icon{width:36px;height:36px;color:#ffffff4d;animation:pulse 1.5s ease-in-out infinite}.certificate-image img{transition:opacity .3s ease}.cert-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem;animation:certModalFadeIn .3s ease-out;overflow:auto;-webkit-overflow-scrolling:touch}@keyframes certModalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.cert-modal-container{background:transparent;border-radius:12px;box-shadow:0 25px 50px #00000080;max-width:95vw;max-height:95vh;width:auto;overflow:hidden;position:relative;animation:certModalSlideUp .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}@keyframes certModalSlideUp{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}.cert-modal-close{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;border-radius:50%;background:#00000080;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.cert-modal-close:hover{background:#000000b3;transform:scale(1.1)}.cert-modal-close svg{width:20px;height:20px}.cert-modal-image{position:relative;width:auto;height:auto;max-width:95vw;max-height:95vh;min-width:300px;min-height:200px;display:flex;align-items:center;justify-content:center}.cert-modal-image img{width:auto;height:auto;max-width:95vw;max-height:95vh;object-fit:contain;display:block;border-radius:8px;transition:opacity .3s ease}.cert-modal-image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2a2d32,#1a1d21);display:flex;align-items:center;justify-content:center;border-radius:8px}.cert-modal-image-placeholder .loader-icon{width:48px;height:48px;color:#ffffff4d;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.7}}@media (max-width: 768px){.cert-modal-overlay{padding:1rem}.cert-modal-container,.cert-modal-image{max-width:100vw;max-height:100vh}.cert-modal-image img{max-width:100vw;max-height:100vh;width:auto;height:auto}.cert-modal-close{width:40px;height:40px}}@media (max-width: 480px){.cert-modal-overlay{padding:.5rem}.cert-modal-close{top:1rem;right:1rem;width:36px;height:36px}.cert-modal-close svg{width:16px;height:16px}.cert-modal-image img{max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}}@media (max-width: 360px){.cert-modal-overlay{padding:.25rem}.cert-modal-close{top:1rem;right:1rem;width:36px;height:36px}.cert-modal-close svg{width:16px;height:16px}}.footer{padding:2rem;background-color:var(--bg-primary, #1e2225);color:var(--text-primary, #f0f0f0);font-family:monospace;text-align:center;transition:background-color .3s ease,color .3s ease}.footerDivider{border:none;border-top:1px solid var(--text-secondary, #393d43);width:80%;margin:0 auto 2rem;transition:border-color .3s ease}.footer-content{display:flex;flex-direction:column;align-items:center}.contact-section,.social-section{display:flex;flex-direction:column;flex:1;gap:.8rem;margin:1rem;min-width:200px}.emailText,.phoneText{text-decoration:none;color:var(--text-secondary, #b0b0b0);font-size:.85rem;transition:color .3s ease}.emailText:hover,.phoneText:hover{cursor:pointer;text-decoration:underline;color:var(--navbar-active, #77a3c0)}.social-icons img{width:24px;height:24px;margin:0 .5rem;padding:.2rem 0;transition:all .3s ease;filter:brightness(.7)}.social-icons img:hover{transform:scale(1.1);filter:brightness(1) saturate(1.2)}[data-theme=default] .social-icons img{filter:brightness(.8) contrast(1.1)}[data-theme=default] .social-icons img:hover{filter:brightness(1.1) contrast(1.2) saturate(1.3)}[data-theme=cream] .social-icons img{filter:brightness(.6) sepia(.3) hue-rotate(15deg)}[data-theme=cream] .social-icons img:hover{filter:brightness(.8) sepia(.2) hue-rotate(10deg) saturate(1.4)}[data-theme=colourful] .social-icons img{filter:brightness(.9) saturate(1.3)}[data-theme=colourful] .social-icons img:hover{filter:brightness(1.1) saturate(1.6) hue-rotate(10deg)}.footer-bottom{color:var(--text-secondary, #b0b0b0);padding-top:.5rem;font-size:.9rem;transition:color .3s ease}@media (max-width: 768px){.footer-content{flex-direction:column;padding:1rem}.contact-section,.social-section{margin:.5rem;min-width:auto}.emailText,.phoneText{font-size:.85rem}.social-icons img{width:20px;height:20px;margin:0 .3rem}.footer-bottom{font-size:.85rem}}@media (max-width: 480px){.footer{padding:1rem}.contact-section,.social-section{flex:1 1 100%;margin:.5rem 0;min-width:auto}.emailText,.phoneText{font-size:.8rem}.social-icons img{width:20px;height:20px;margin:0 .2rem}.footer-bottom{font-size:.6rem}}:root{--vh: 1vh;--dvh: 1dvh;--svh: 1svh;--lvh: 1lvh}body{margin:0;padding:0;color:var(--text-primary, #ecf3f9);font-family:monospace;font-weight:100;background-color:var(--bg-primary, transparent);transition:color .3s ease,background-color .3s ease}
