::-webkit-scrollbar{width:18px}::-webkit-scrollbar-track{background-color:none}::-webkit-scrollbar-thumb{border-radius:100px;border:5px solid rgba(0,0,0,0);background-clip:content-box;background-color:#8070d4}.fs-300{font-size:.8rem}.fs-400{font-size:1rem}.fs-500,.fs-600{font-size:1.5rem}.fs-700,.fs-800{font-size:3rem}@media(min-width:720px){.fs-300,.fs-400{font-size:.9rem}.fs-500{font-size:1.8rem}.fs-600{font-size:2rem}.fs-700,.fs-800{font-size:5.5rem}}@media(min-width:1200px){.fs-400{font-size:1.2rem}.fs-500{font-size:2rem}.fs-600{font-size:2.2rem}.fs-700{font-size:6rem}.fs-800{font-size:7rem}}#notfound{position:relative;height:100vh;margin-top:0!important}#notfound .notfound{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:920px;width:100%;line-height:1.4;text-align:center;padding-left:15px;padding-right:15px}#notfound .notfound .notfound-404 h1{color:var(--text);-webkit-text-fill-color:var(--headingStroke);-webkit-text-stroke-width:1px;font-weight:700;font-size:120px}#notfound .notfound h2{color:var(--text);text-transform:uppercase}#notfound .notfound p{color:var(--text);margin-top:.9rem}#notfound .notfound a{margin-top:2rem;text-decoration:none;text-transform:uppercase;background:var(--toggle);display:inline-block;padding:16px 38px;border:.1rem solid var(--text);border-radius:40px;color:var(--text);transition:all .2s}#notfound .notfound a:hover{background:var(--toggleHover);color:var(--textRev)}@media(min-width:960px){#notfound .notfound .notfound-404 h1{font-size:150px}#notfound .notfound p{padding:0 6rem}}.skeleton-container{background-color:#f0f0f0;border-radius:8px;padding:20px}.title-style{width:200px;height:20px;margin-bottom:10px}.paragraph-style,.title-style{background-color:#ccc;border-radius:4px;animation:pulsate-animation 1.5s ease-in-out infinite}.paragraph-style{width:100px;height:14px}.skeleton-links{display:flex;gap:.8rem;margin-top:2rem}.link-style{width:20px;height:20px;background-color:#ccc;animation:pulsate-animation 1.5s ease-in-out infinite}.tag-style{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}@media(min-width:720px){.tag-style{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}}.tag-item{display:inline-block;width:50px;height:30px;background-color:#ccc;border-radius:4px;margin-right:5px;animation:pulsate-animation 1.5s ease-in-out infinite}@keyframes pulsate-animation{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.headingleft{margin:1rem 0;color:var(--text);position:relative;text-align:left}.headingleft:after{content:"";position:absolute;background:var(--text);width:40%;height:.1rem;transform:translateY(1.2rem);right:0}.headingright{margin:1rem 0;color:var(--text);position:relative;text-align:right}.headingright:before{content:"";position:absolute;background:var(--text);width:40%;height:.1rem;transform:translateY(1.2rem);left:0}.card{background-color:var(--card);border-radius:.5rem;transition:box-shadow .3s ease-out,transform .3s ease-out,opacity .2s ease-out;transition-delay:.1s;transform:translateZ(0);box-shadow:var(--cardBackgroundShadow)}.card .card-img{padding:1rem 1rem 0}.card .card-img img{border-radius:.5rem;width:100%;height:200px}.card .card-details{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 1.2rem}.card .card-details .card-head h2,.card .card-details .card-head p{color:var(--text)}.card .card-details .card-body a{text-decoration:none;border:.06rem solid var(--text);border-radius:50%;color:var(--text);display:inline-flex;align-items:center;justify-content:center;height:2.5rem;width:2.5rem;cursor:pointer}@media(min-width:480px){.card:hover{margin-top:-10px}}.social-media{display:flex;flex-direction:row;gap:1rem;margin:4rem 0}.social-media,.social-media a{justify-content:center;align-items:center}.social-media a{text-decoration:none;border:.06rem solid var(--text);border-radius:50%;color:var(--text);display:inline-flex;height:2.5rem;width:2.5rem;transition:.5s;box-shadow:0 3px 8px rgba(0,0,0,.24)}.mobile-nav-social-media .social-media{margin:2.5rem 0}@media(min-width:720px){.social-media{margin:5rem 0}.social-media a{height:3rem;width:3rem;font-size:1.5rem}.social-media a:hover{margin-top:-10px;background-color:var(--text);color:var(--textRev)}}@media(min-width:480px){.card{margin:0 1.5rem}}@media(min-width:720px){.card{margin:0}.card .card-details{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem}.headingleft,.headingright{margin:5rem 0}}.card-img,.card-img .image-wrapper{position:relative;width:100%}.card-img .image-wrapper{overflow:hidden;height:100%}.card-img .image-wrapper .responsive-image{width:100%;height:100%;object-fit:fill}.progress-bar{position:fixed;top:4rem;left:0;width:100vw;border:2px solid #8070d4;transform-origin:left}@media(min-width:720px){.progress-bar{top:5rem}}.loading{position:fixed;height:100%;background:#000;z-index:9999}.loading,.loading-text{top:0;left:0;width:100%}.loading-text{position:absolute;bottom:0;right:0;margin:auto;text-align:center;height:100px;line-height:100px}.loading-text span{display:inline-block;margin:0 5px;color:#fff;font-family:Quattrocento Sans,sans-serif}.loading-text span:first-child{filter:blur(0);animation:blur-text 1.5s linear 0s infinite alternate}.loading-text span:nth-child(2){filter:blur(0);animation:blur-text 1.5s linear .2s infinite alternate}.loading-text span:nth-child(3){filter:blur(0);animation:blur-text 1.5s linear .4s infinite alternate}.loading-text span:nth-child(4){filter:blur(0);animation:blur-text 1.5s linear .6s infinite alternate}.loading-text span:nth-child(5){filter:blur(0);animation:blur-text 1.5s linear .8s infinite alternate}.loading-text span:nth-child(6){filter:blur(0);animation:blur-text 1.5s linear 1s infinite alternate}.loading-text span:nth-child(7){filter:blur(0);animation:blur-text 1.5s linear 1.2s infinite alternate}@keyframes blur-text{0%{filter:blur(0)}to{filter:blur(4px)}}@media(min-width:960px){.ring{top:0;left:0;width:50px;height:50px;border:2px solid var(--text);transition-duration:.1s;transition-timing-function:ease-out;will-change:width,height,transform,border;box-shadow:none!important}.dot,.ring{position:fixed;border-radius:100%;transform:translate(-50%,-50%);z-index:999;pointer-events:none}.dot{top:50%;left:50%;width:8px;height:8px}.dot,.ring.hovered{background-color:var(--text)}.ring.hovered{width:70px;height:70px;color:var(--headingStroke)}.ring.hovered:after{content:"View";position:relative;top:20px;left:15px;font-size:1rem}.dot.hovered{display:none}}.active-modal{overflow-y:scroll}.header{position:fixed;top:0;height:5rem;width:100%;z-index:2;padding:2rem 0}@media(min-width:720px){.header{padding:0 40px}}.header .nav-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:100%;gap:1rem;max-width:1200px;margin:0 auto}.header .nav-container .nav .nav-menu{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem;list-style:none;text-align:center;padding:0}.header .nav-container .nav .nav-menu .nav-item a{text-decoration:none;color:var(--navActiveLink)}.header .nav-container .nav .nav-menu .nav-item button{color:var(--navActiveLink);padding:.5rem;border-radius:.5rem;cursor:pointer;background-color:rgba(0,0,0,0);text-transform:capitalize;border:none}.header .nav-container .nav .nav-menu .nav-item button:hover{background-color:var(--toggle)}.header .nav-container .nav .nav-menu .activeLink{color:var(--text)!important;border:none}.header .nav-container .nav .nav-menu .unActiveLink{border:none}.header .menu-icon,.header .nav-container .nav .active{display:none}.colorChange{background:var(--background);box-shadow:var(--cardBackgroundShadow)}@media(min-width:720px){.nav-option{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}}@media(min-width:960px){.nav-option{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1.5rem}}.nav-option .resume-link{display:none}@media(min-width:720px){.nav-option .resume-link{display:block;text-decoration:none;color:var(--navActiveLink);border:.1rem solid var(--link);padding:.3rem 1.5rem;border-radius:.5rem}.nav-option .resume-link:hover{background-color:var(--toggle)}}@media screen and (max-width:480px){.active-modal{overflow-y:hidden}.backdrop{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-10;background:rgba(0,0,0,.75)}.header{height:4rem;padding:0 25px}.header .nav-container{position:relative;z-index:10}.header .nav-container .nav .nav-menu{display:none;width:70%;height:100vh;gap:1.5rem;margin:0;position:fixed;top:0;left:0;opacity:1;transition:all .5s ease}.header .nav-container .nav .nav-menu .nav-item{display:none}.header .nav-container .nav .nav-menu.active{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card);left:0;margin:0;opacity:1;transition:all .5s ease;z-index:1}.header .nav-container .nav .nav-menu.active .nav-item{display:block}.header .nav-container .nav .nav-menu.active .nav-item:first-child{margin-top:4rem}.header .nav-container .nav .nav-menu.active .nav-item a{color:var(--text)}.header .nav-container .nav .nav-menu.active .nav-item button{color:var(--navActiveLink);padding:.5rem;border-radius:.5rem;cursor:pointer;background-color:rgba(0,0,0,0);text-transform:capitalize;color:var(--text);border:none}.header .nav-container .nav .nav-menu.active .nav-item button:hover{background-color:rgba(0,0,0,0)}.header .nav-container .menu-icon{position:absolute;display:block;color:var(--text);z-index:20;background-color:rgba(0,0,0,0);border:none}.resume-link{text-decoration:none;color:var(--navActiveLink);border:.1rem solid var(--link);padding:.3rem 1.5rem;border-radius:.5rem;margin-top:1.5rem}}.switch{background-color:var(--toggle);border:none;padding:.6rem .8rem;border-radius:.5rem;transition:all .15s ease-in;display:flex;flex-direction:row;justify-content:center;align-items:center;cursor:pointer}.switch i{color:var(--text)}.switch:hover{border:.1rem solid rgba(194,194,194,.3)}.intro .hover,.intro .name{color:var(--text)}.intro .hover{text-align:left;-webkit-text-fill-color:var(--headingStroke);-webkit-text-stroke-width:1px}.intro .hover:hover{-webkit-text-fill-color:var(--hoverStroke);color:var(--textRev)}.intro .profession,.intro .title{text-transform:uppercase}.intro .profession{color:var(--text)}.aboutme{margin-top:2.5rem}.aboutme,.aboutme p{display:grid;grid-gap:1rem;gap:1rem}.aboutme p{color:var(--text)}.aboutme p:first-child{margin-right:5rem}.aboutme p:nth-child(2){margin-left:5rem}.techstack{margin-top:2.5rem}.techstack .list{display:flex;flex-direction:column;justify-content:center;align-items:center;align-items:flex-start;gap:1rem}.techstack .list h2{color:var(--text);font-weight:700;margin-bottom:1.5rem;border-bottom:.1rem solid var(--text)}.techstack .list h2 span{color:var(--text);-webkit-text-fill-color:var(--headingStroke);-webkit-text-stroke-width:1px}.techstack .list h2 span:hover{-webkit-text-fill-color:var(--hoverStroke)}.techstack .list p{color:var(--text);position:relative}.techstack .list p:before{content:"";width:5px;height:2px;background-color:var(--text);top:10px;left:-15px;position:absolute}.techstack .list:first-child{margin-bottom:2rem}.techstack .list:first-child p,.techstack .list:nth-child(2) p{margin-left:1rem}@media(min-width:480px){.aboutme p:first-child{margin-right:8rem}.aboutme p:nth-child(2){margin-left:8rem}}@media(min-width:720px){.intro{margin:8.5rem 0 6rem}.aboutme{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:5rem}.aboutme p:first-child{margin:0}.aboutme p:nth-child(2){margin:8rem 0 0}.techstack{margin-top:5rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.techstack .list:first-child{align-items:flex-start;margin-bottom:0}.techstack .list:nth-child(2){align-items:flex-start}}@media(min-width:960px){.intro{margin:8.5rem 0}.aboutme{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:5rem}.aboutme p:first-child{margin:0}.aboutme p:nth-child(2){margin:8rem 0 0}.techstack{margin-top:5rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.techstack .list:first-child{margin-left:0}.techstack .list:nth-child(2){margin-right:0}}.project .projectItem{display:grid;grid-template-columns:1fr;justify-content:center;align-items:center;grid-gap:1.5rem;gap:1.5rem;margin:2.5rem 0}.project a{text-decoration:none}.project .link{width:200px;margin:0 auto;text-align:center;color:var(--text);cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}@media(min-width:720px){.project .projectItem{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem}.project .link,.project a{text-decoration:none}.project .link:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}}@media(min-width:960px){.project .projectItem{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.project .projectItem .card .card-details{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem}.project .link:after{left:370px}}@media(min-width:1200px){.project .link:after{left:490px}}.concept .behanceitems{display:grid;grid-template-columns:1fr;justify-content:center;align-items:center;grid-gap:1.5rem;gap:1.5rem;margin:2.5rem 0}.concept .behanceitems .card .card-img img{width:500px;height:200px}@media(min-width:720px){.concept .behanceitems{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem}}@media(min-width:960px){.concept .behanceitems{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}}.archive{margin-top:5rem}.archive .heading,.archive .subheading{color:var(--text)}.archive .archive-lists{margin-top:2rem}.archive .archive-lists .project{display:grid;align-items:center;grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem;padding:1rem;color:var(--text);background-color:var(--card);border-top-left-radius:1rem;border-top-right-radius:.2rem;border-bottom-right-radius:1rem;border-bottom-left-radius:.2rem;box-shadow:0 1px 2px 0 rgba(41,44,46,.3),0 2px 6px 2px rgba(27,29,31,.15)}.archive .archive-lists .project .project-head{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;align-items:flex-start;gap:1rem}.archive .archive-lists .project .project-head .details{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;color:var(--text)}.archive .archive-lists .project .project-head .details .title{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.2rem}.archive .archive-lists .project .project-head .details .title .new{background-color:hsl(180,29%,50%);color:#fff;padding:.5rem .8rem;border-radius:1rem;font-size:.8rem}.archive .archive-lists .project .project-head .links{display:flex;flex-direction:row;justify-content:center;align-items:center}.archive .archive-lists .project .project-head .links a{font-size:1.2rem;color:var(--text)}.archive .archive-lists .project .project-head .links a:first-child{margin-right:1rem}.archive .archive-lists .project .tag{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;align-items:flex-start;gap:1rem;flex-wrap:wrap}.archive .archive-lists .project .tag span{background-color:var(--background);padding:.5rem;border-radius:.5rem;color:var(--text);box-shadow:0 1px 2px 0 rgba(41,44,46,.3),0 2px 6px 2px rgba(27,29,31,.15)}.archive .archive-lists .project .tag .tag-selected{background-color:var(--span);border:.1rem solid var(--link);color:var(--background)}.archive .archive-lists .message-placeholder{height:50vh;display:flex;flex-direction:row;justify-content:center;align-items:center}.archive .filter-links{justify-content:space-between;margin:2rem 0}.archive .filter-links,.archive .filter-links ul{display:flex;flex-direction:row;align-items:center}.archive .filter-links ul{height:100px;list-style:none;padding:0;justify-content:flex-start;gap:1rem;flex-wrap:wrap}.archive .filter-links ul li a{border:.1rem solid var(--link);padding:.8rem 1rem;border-radius:.5rem;text-decoration:none;color:var(--text)}.archive .filter-links ul .tag-selected{background-color:var(--span);color:var(--background)}.archive .sort-btn{display:none}@media(min-width:480px){.archive{margin-top:6rem}.archive .archive-lists .project{display:grid;align-items:center}.archive .archive-lists .project .project-head{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.archive .archive-lists .project .project-head .details{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;align-items:flex-start;width:auto}.archive .archive-lists .project .project-head .details .title{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.2rem}}@media(min-width:720px){.archive .archive-lists .project{grid-template-columns:repeat(2,1fr);margin-bottom:2rem;padding:2rem;color:var(--cardtext);background-color:var(--card)}.archive .archive-lists .project .project-head{display:flex;flex-direction:column;justify-content:space-between;align-items:center;align-items:flex-start;border-top-left-radius:2rem;border-top-right-radius:.3rem;border-bottom-right-radius:2rem;border-bottom-left-radius:.3rem;gap:.5rem}.archive .archive-lists .project .project-head .links a{font-size:1.5rem}.archive .archive-lists .project .tag{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.archive .archive-lists .project .tag span{padding:.6rem;border-radius:.5rem}.archive .archive-lists .project .links a{font-size:1.5rem}.archive .archive-lists .project .links a:first-child{margin-right:2rem}.archive .filter-links ul{height:50px}}@media(min-width:960px){.archive .archive-lists{margin-top:2rem}.archive .archive-lists .project .tag{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;flex-wrap:nowrap}.archive .sort-btn{display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:var(--toggle);border:none;padding:1rem;border-radius:.5rem;transition:all .15s ease-in;cursor:pointer}}.contact{max-width:500px;margin:0 auto;text-align:center}.contact .heading{color:var(--text);margin-bottom:1rem}.contact p{color:var(--text);margin-bottom:4rem}.contact .button{padding:1rem;border:.1rem solid var(--link);border-radius:.5rem;color:var(--text);text-decoration:none;box-shadow:0 1px 2px 0 rgba(41,44,46,.3),0 2px 6px 2px rgba(27,29,31,.15)}.contact .button:hover{background-color:var(--text);color:var(--textRev)}@media(min-width:960px){.contact{margin-top:12rem}}footer{margin:2rem auto}footer .credit{margin-top:10rem;text-align:center}footer .credit a{text-decoration:none;color:var(--text)}.hidden,.notfoundFooter{display:none}.back-to-top{position:fixed;bottom:20px;right:20px;font-size:1rem;background:var(--text);color:var(--toggle);cursor:pointer;border-radius:50%;padding:.5rem;text-align:center;height:2.5rem!important;width:2.5rem!important;transition:.5s;border:.1rem solid var(--text)}.back-to-top:hover{background:var(--toggle);color:var(--text)}@media(min-width:960px){.back-to-top{font-size:1.5rem;height:3rem!important;width:3rem!important}}.side-menu__mobile-toggle{display:block;position:fixed;top:1rem;left:1rem;z-index:1001;background:rgba(0,0,0,0);border:none;padding:.5rem;cursor:pointer;transition:all .2s ease;color:#1e293b}.side-menu__mobile-toggle:hover{color:#3b82f6;transform:scale(1.1)}.side-menu__mobile-toggle svg{font-size:1.5rem}@media(min-width:720px){.side-menu__mobile-toggle{display:none}}.side-menu__mobile-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(min-width:720px){.side-menu__mobile-backdrop{display:none}}.side-menu{position:fixed;top:0;left:0;width:230px;height:100vh;background:#f8fafc;color:#1e293b;z-index:1000;overflow-y:auto;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px rgba(0,0,0,.1);display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.side-menu--permanent{position:fixed;left:0;transform:none}.side-menu--open{left:0}.side-menu::-webkit-scrollbar{width:6px}.side-menu::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.side-menu::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:3px}.side-menu::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}@media(min-width:320px){.side-menu{transform:translateX(-100%);width:100vw;max-width:320px}.side-menu--mobile-open{transform:translateX(0)}}@media(min-width:480px){.side-menu{transform:translateX(-100%);width:100vw;max-width:320px}.side-menu--mobile-open{transform:translateX(0)}}@media(min-width:720px){.side-menu{transform:none;width:230px}}.side-menu__header-section{padding:1.5rem;border-bottom:1px solid #e2e8f0;background:#fff}@media(min-width:320px){.side-menu__header-section{padding:1rem}}.side-menu__header-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:1rem}.side-menu__header-top{justify-content:space-between}.side-menu__back-button,.side-menu__header-top{display:flex;flex-direction:row;align-items:center}.side-menu__back-button{justify-content:flex-start;gap:.5rem;color:#64748b;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease;cursor:pointer;padding:.5rem;border-radius:.25rem;width:-moz-fit-content;width:fit-content}.side-menu__back-button:hover{color:#1e293b;background:#f1f5f9}.side-menu__back-button svg{font-size:1rem}.side-menu__close-button{display:none;background:none;border:none;color:#64748b;cursor:pointer;padding:.5rem;border-radius:.25rem;transition:all .2s ease}.side-menu__close-button:hover{color:#1e293b;background:#f1f5f9}.side-menu__close-button svg{font-size:1.25rem}@media(min-width:320px){.side-menu__close-button{display:block}}@media(min-width:480px){.side-menu__close-button{display:block}}@media(min-width:720px){.side-menu__close-button{display:none}}.side-menu__title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0;letter-spacing:-.025em}@media(min-width:320px){.side-menu__title{font-size:1.25rem}}.side-menu__profile{padding:1.5rem;border-bottom:1px solid #e2e8f0;background:#fff;width:100%}@media(min-width:320px){.side-menu__profile{padding:1rem}}.side-menu__avatar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}@media(min-width:320px){.side-menu__avatar{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.75rem}}.side-menu__avatar-img{width:50px;height:50px;border-radius:50%;object-fit:cover;border:3px solid hsla(0,0%,100%,.2);box-shadow:0 4px 12px rgba(0,0,0,.3)}@media(min-width:320px){.side-menu__avatar-img{width:60px;height:60px}}.side-menu__avatar-placeholder{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;flex-direction:row;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;color:#fff;border:3px solid #e2e8f0;box-shadow:0 4px 12px rgba(0,0,0,.1)}@media(min-width:320px){.side-menu__avatar-placeholder{width:60px;height:60px;font-size:1rem}}.side-menu__user-info-name{font-size:1.1rem;font-weight:600;color:#1e293b}@media(min-width:320px){.side-menu__user-info-name{font-size:1rem}}.side-menu__nav{flex:1 1;padding:1rem 0;width:100%}@media(min-width:320px){.side-menu__nav{padding:.5rem 0}}.side-menu__nav-list{list-style:none;margin:0;padding:0}.side-menu__nav-item{margin:.25rem 0}.side-menu__nav-link{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem;padding:.875rem 1.5rem;color:#1e293b;text-decoration:none;transition:all .2s ease;border-radius:0;position:relative;overflow:hidden;cursor:pointer}@media(min-width:320px){.side-menu__nav-link{padding:.75rem 1rem;gap:.75rem}}.side-menu__nav-link:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,#3b82f6,transparent);transition:width .3s ease}.side-menu__nav-link:hover{background:#f1f5f9;transform:translateX(4px)}.side-menu__nav-link:hover:before{width:4px}.side-menu__nav-link--active{background:#eff6ff;border-left:4px solid #3b82f6}.side-menu__nav-link--active:before{width:4px}.side-menu__nav-link-icon{font-size:1.25rem;min-width:24px;text-align:center}@media(min-width:320px){.side-menu__nav-link-icon{font-size:1.1rem;min-width:20px}}.side-menu__nav-link-label{font-size:.95rem;font-weight:500;letter-spacing:.3px}@media(min-width:320px){.side-menu__nav-link-label{font-size:.9rem}}.side-menu__nav-link-chevron{margin-left:auto;font-size:1rem;color:hsla(0,0%,100%,.6);transition:transform .2s ease}.side-menu__user-section{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background:#fff;margin-top:auto}@media(min-width:320px){.side-menu__user-section{padding:1rem}}.side-menu__user-avatar{display:flex;flex-direction:row;justify-content:center;align-items:center;width:40px;height:40px;border-radius:50%;background:#3b82f6;color:#fff;flex-shrink:0}.side-menu__user-avatar,.side-menu__user-initials{font-weight:600;font-size:.875rem}.side-menu__user-info{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;flex:1 1;min-width:0}.side-menu__user-name{font-size:.875rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.side-menu__user-role{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.125rem .5rem;border-radius:.25rem;white-space:nowrap}.side-menu__footer{padding:1rem 1.5rem 1.5rem;background:#fff}@media(min-width:320px){.side-menu__footer{padding:1rem}}.side-menu__logout-btn{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:rgba(0,0,0,0);border:1px solid #000;color:#000;margin-top:1rem;width:180px}.side-menu__logout-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(220,38,38,.3)}.side-menu__logout-btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(220,38,38,.3)}.side-menu__logout-btn-icon{font-size:1rem}.side-menu__logout-btn-text{font-weight:600}.side-menu__version{text-align:center;font-size:.75rem;color:hsla(0,0%,100%,.5);font-family:monospace}@media(min-width:320px){.side-menu__mobile-backdrop,.side-menu__mobile-toggle{display:block}.side-menu__nav-link{padding:.75rem 1rem}.side-menu__nav-link-label{font-size:.9rem}}@media(min-width:480px){.side-menu__mobile-backdrop,.side-menu__mobile-toggle{display:block}.side-menu__nav-link{padding:.875rem 1.25rem}.side-menu__nav-link-label{font-size:.95rem}}@media(min-width:720px){.side-menu__nav-link{padding:1rem 1.5rem}.side-menu__nav-link-label{font-size:1rem}}.side-menu__nav-item{animation:slideInLeft .3s ease-out;animation-fill-mode:both}.side-menu__nav-item:first-child{animation-delay:.05s}.side-menu__nav-item:nth-child(2){animation-delay:.1s}.side-menu__nav-item:nth-child(3){animation-delay:.15s}.side-menu__nav-item:nth-child(4){animation-delay:.2s}.side-menu__nav-item:nth-child(5){animation-delay:.25s}.side-menu__nav-item:nth-child(6){animation-delay:.3s}.side-menu__nav-item:nth-child(7){animation-delay:.35s}.side-menu__nav-item:nth-child(8){animation-delay:.4s}.side-menu__nav-item:nth-child(9){animation-delay:.45s}.side-menu__nav-item:nth-child(10){animation-delay:.5s}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@media(prefers-contrast:high){.side-menu{border-right:2px solid #1e293b}.side-menu__nav-link--active{border-left:4px solid #1e293b}}@media(prefers-reduced-motion:reduce){.side-menu,.side-menu__nav-link{transition:none}.side-menu__nav-item{animation:none}}.side-menu__logout-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;flex-direction:row;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.side-menu__logout-popup{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);padding:1.5rem;max-width:400px;width:90%;animation:popupSlideIn .2s ease-out}.side-menu__logout-popup-header{margin-bottom:1rem}.side-menu__logout-popup-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.side-menu__logout-popup-content{margin-bottom:1.5rem}.side-menu__logout-popup-content p{margin:0;color:#64748b;font-size:1rem;line-height:1.5}.side-menu__logout-popup-actions{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.75rem}.side-menu__logout-popup-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.side-menu__logout-popup-btn--cancel{background:#f1f5f9;color:#475569}.side-menu__logout-popup-btn--cancel:hover{background:#e2e8f0;color:#334155}.side-menu__logout-popup-btn--confirm{background:rgba(0,0,0,0);color:#3b82f6}.side-menu__logout-popup-btn--confirm:hover{background:#eff6ff;color:#2563eb}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.dashboard{background:var(--background);color:var(--text);font-family:Josefin Sans,Poppins,Roboto,sans-serif}.dashboard,.dashboard__loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh}.dashboard__loading{text-align:center;padding:2rem}.dashboard__loading-spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-left:4px solid var(--navBackground);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.dashboard__loading-title{font-size:1.5rem;font-weight:600;color:var(--text)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dashboard__unauthorized{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;text-align:center;padding:2rem}.dashboard__unauthorized-title{font-size:2rem;font-weight:700;color:#dc2626;margin-bottom:1rem}.dashboard__unauthorized-message{font-size:1.1rem;color:#6b7280;max-width:400px}.dashboard__header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);position:-webkit-sticky;position:sticky;top:0;z-index:100}@media(min-width:720px){.dashboard__header{padding:1.5rem 2rem}}.dashboard__header-left{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem}.dashboard__menu-toggle{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:all .2s ease;color:var(--text)}.dashboard__menu-toggle:hover{background:rgba(0,0,0,.05)}@media(min-width:720px){.dashboard__menu-toggle{display:none}}.dashboard__menu-icon{font-size:1.25rem;font-weight:600}.dashboard__title{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}@media(min-width:720px){.dashboard__title{font-size:1.875rem}}.dashboard__header-right{flex-direction:row;gap:1rem}.dashboard__header-right,.dashboard__user-info{display:flex;justify-content:flex-end;align-items:center}.dashboard__user-info{flex-direction:column;text-align:right}@media(min-width:480px){.dashboard__user-info{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.5rem}}.dashboard__user-name{font-size:.875rem;font-weight:600;color:var(--text)}.dashboard__user-role{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.125rem .5rem;border-radius:.25rem}.dashboard__logout-btn{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.dashboard__logout-btn:hover{background:#b91c1c}.dashboard__theme-switch{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:all .2s ease;color:var(--text)}.dashboard__theme-switch:hover{background:rgba(0,0,0,.05)}.dashboard__main{flex:1 1;display:flex;flex-direction:column}.dashboard__main--with-sidebar{margin-left:0}@media(min-width:720px){.dashboard__main--with-sidebar{margin-left:280px}}@media(min-width:960px){.dashboard__main--with-sidebar{margin-left:320px}}.dashboard__header-content{display:flex;flex-direction:row;justify-content:space-between;align-items:center;align-items:flex-start;gap:2rem}@media(min-width:320px){.dashboard__header-content{flex-direction:column;gap:1rem}}.dashboard__header-text{flex:1 1;min-width:0}.dashboard__header-subtitle{font-size:1rem;color:#64748b;margin:.5rem 0 0;font-weight:400;line-height:1.5}@media(min-width:720px){.dashboard__header-subtitle{font-size:1.125rem}}.dashboard__header-actions{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;align-items:flex-end;gap:.5rem}@media(min-width:320px){.dashboard__header-actions{align-items:flex-start}}.dashboard__header-breadcrumb{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}@media(min-width:320px){.dashboard__header-breadcrumb{justify-content:flex-start}}.dashboard__breadcrumb-item{color:#94a3b8;font-weight:500}.dashboard__breadcrumb-separator{color:#cbd5e1;font-weight:600}.dashboard__breadcrumb-current{color:#1e293b;font-weight:600}.dashboard__auth-section{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60vh}.dashboard__auth-card{background:#fff;padding:2rem;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);text-align:center;max-width:400px;width:100%}.dashboard__auth-title{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:1rem}.dashboard__auth-message{color:#6b7280;margin-bottom:2rem;line-height:1.6}.dashboard__login-btn{background:var(--navBackground);color:#fff;border:none;padding:.75rem 2rem;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dashboard__login-btn:hover{background:#000;transform:translateY(-1px)}.dashboard__content{max-width:1440px;margin:0 auto;padding:2rem 1.5rem}@media(min-width:320px){.dashboard__content{padding:1.5rem 1rem}}.dashboard__section{margin-bottom:3rem}.dashboard__section:last-child{margin-bottom:0}.dashboard__main .dashboard__content{padding-top:3rem;padding-bottom:3rem}@media(min-width:320px){.dashboard__main .dashboard__content{padding-top:2rem;padding-bottom:2rem}}.dashboard__current-data{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem 1.5rem;margin-bottom:2rem;font-size:.9rem;color:#64748b}.dashboard__current-data p{margin:0;font-weight:500}.dashboard__current-data p strong{color:#1e293b;font-weight:600}.dashboard__section-title{font-size:1.5rem;font-weight:700;color:var(--text);margin:0;padding:0;position:relative}@media(min-width:720px){.dashboard__section-title{font-size:1.875rem}}.dashboard__section .dashboard__section-title{margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.dashboard__stat-card{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem;transition:all .2s ease}.dashboard__stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.dashboard__stat-icon{font-size:2rem;width:60px;height:60px;display:flex;flex-direction:row;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:.5rem;color:#fff}.dashboard__stat-content{flex:1 1}.dashboard__stat-title{font-size:.875rem;font-weight:600;color:#6b7280;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.dashboard__stat-value{font-size:2rem;font-weight:700;color:var(--text);margin:0}@media(min-width:480px){.dashboard__stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(min-width:720px){.dashboard__stats{grid-template-columns:repeat(3,1fr)}}@media(prefers-contrast:high){.dashboard__stat-card{border:2px solid var(--text)}}.dashboard__error{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;text-align:center;padding:2rem}.dashboard__error-title{font-size:2rem;font-weight:700;color:#dc2626;margin-bottom:1rem}.dashboard__error-message{font-size:1.1rem;color:#6b7280;margin-bottom:2rem;max-width:500px}.dashboard__error-actions{display:flex;gap:1rem;margin-top:1.5rem}.dashboard__error-retry{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.dashboard__error-retry:hover{background:#2563eb}.dashboard__error-login{background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.dashboard__error-login:hover{background:#b91c1c}@media(prefers-reduced-motion:reduce){.dashboard__loading-spinner{animation:none}.dashboard__login-btn,.dashboard__stat-card{transition:none}}:root{--background:#f9fafb;--navBackground:#111111;--navBackgroundShadow:0 1px 30px 0 rgb(145 145 145/20%);--navActiveLink:#404756;--text:#000;--textRev:#fff;--headingStroke:#fff;--hoverStroke:#000;--toggle:#eaeaea;--toggleHover:#444444;--link:#444444;--card:#dbe1e8;--cardBackgroundShadow:0 3px 8px rgb(0 0 0/24%);--span:#3f4954}*,:after,:before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}ol[role=list],ul[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;background:var(--background);font-family:Josefin Sans,Poppins,Roboto!important}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}button,input,select,textarea{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}main{max-width:1800px;margin:auto}.container{width:100%;max-width:1200px;margin:2rem auto;padding:0 25px;box-sizing:border-box}@media(min-width:720px){.container{padding:0 40px}}@media(min-width:960px){.container{padding:0}}section{margin:5rem 0}