html{scroll-behavior:smooth}body{padding-top:70px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;color:#333;background-color:#f8f9fa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%239C92AC' fill-opacity='0.1' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E")}*,:after,:before{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:ease;transition-duration:.2s}.container{max-width:1200px;padding:0 15px}.jumbotron{background:linear-gradient(135deg,#2b5876,#4e4376);color:#fff;padding:4rem 2rem;margin-bottom:3rem;border-radius:0;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.1)}.jumbotron:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='rgba(255,255,255,0.05)' fill-rule='evenodd'/%3E%3C/svg%3E");opacity:.3}.jumbotron h1{font-weight:700;font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 10px rgba(0,0,0,.2)}.jumbotron h2{font-weight:300;font-size:1.5rem;margin-bottom:1.5rem;opacity:.9}.jumbotron p{font-size:1.1rem;max-width:600px;opacity:.8;margin-bottom:0}.section-heading{text-align:center;margin-bottom:3rem;position:relative}.section-heading h2{font-size:2rem;font-weight:700;color:#2d3748;margin-bottom:1rem;position:relative;display:inline-block}.section-heading h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80px;height:4px;background:linear-gradient(90deg,#4e54c8,#8f94fb);border-radius:2px}.section-heading p{font-size:1.1rem;color:#718096;max-width:600px;margin:1rem auto 0}.page-header{margin-bottom:2.5rem;position:relative;padding-bottom:.5rem}.page-header h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin-bottom:.5rem}.header-underline{height:4px;width:80px;background:linear-gradient(90deg,#4e54c8,#8f94fb);margin-top:1rem;border-radius:2px}.intro-text{font-size:1.2rem;line-height:1.7;color:#4a5568;margin-bottom:3rem;max-width:800px}.intro-text a{color:#4f46e5;text-decoration:none;font-weight:500;position:relative;transition:all .2s ease}.intro-text a:after{content:"";position:absolute;width:100%;height:2px;bottom:-2px;left:0;background-color:#4f46e5;transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease}.intro-text a:hover{color:#4338ca}.intro-text a:hover:after{transform:scaleX(1);transform-origin:bottom left}.content-section{margin-bottom:4rem;padding:2rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.05)}.section-title{margin-bottom:1.5rem;position:relative}.section-title h2{font-size:1.8rem;font-weight:600;color:#2d3748;display:inline-block}.section-title h2:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background:linear-gradient(90deg,#4e54c8,#8f94fb);border-radius:2px}.timeline{position:relative;padding:2rem 0}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:20px;width:3px;background:linear-gradient(180deg,#4e54c8,#8f94fb);border-radius:3px}.timeline-item{position:relative;padding-left:50px;margin-bottom:2.5rem}.timeline-badge{position:absolute;top:0;left:10px;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #4e54c8;z-index:1}.timeline-content{padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease}.timeline-content:hover{transform:translateY(-5px);box-shadow:0 8px 15px rgba(0,0,0,.1)}.timeline-content h2{font-size:1.4rem;margin-bottom:.8rem;color:#2d3748}.timeline-content h2 a{color:#4f46e5;text-decoration:none;transition:color .2s ease}.timeline-content h2 a:hover{color:#4338ca}.timeline-content .date{color:#718096;font-size:.9rem;font-weight:400}.card-list{display:flex;flex-direction:column;gap:15px}.resource-card{display:flex;align-items:center;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.05);text-decoration:none;color:inherit;transition:transform .3s ease,box-shadow .3s ease}.resource-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px rgba(0,0,0,.1);text-decoration:none;color:inherit}.resource-icon{font-size:2rem;margin-right:1.5rem;color:#4f46e5}.resource-content h3{font-size:1.2rem}.resource-list{display:flex;flex-direction:column;gap:10px;margin-top:1rem}.resource-item{padding:1rem;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.05);color:#2d3748;transition:all .2s ease}.resource-item:hover{transform:translateX(5px);box-shadow:0 4px 8px rgba(0,0,0,.1);background-color:#f7fafc;color:#4f46e5}.resource-item .resource-icon{font-size:1.5rem;margin-right:1rem;color:#4f46e5}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:20px;gap:20px;margin-top:2rem}.feature-item{padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.05);display:flex;align-items:center;transition:transform .3s ease,box-shadow .3s ease}.feature-item:hover{transform:translateY(-5px);box-shadow:0 8px 15px rgba(0,0,0,.1)}.feature-icon{font-size:2rem;margin-right:1rem;color:#4f46e5}.feature-text{font-size:1rem;color:#4a5568}.action-buttons{display:flex;flex-wrap:wrap;gap:15px;margin-top:2rem}.btn{padding:.75rem 1.5rem;font-weight:500;border-radius:6px;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;box-shadow:0 4px 6px rgba(79,70,229,.25)}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 6px 10px rgba(79,70,229,.3);color:#fff}.btn-secondary{background:#fff;color:#4f46e5;border:1px solid rgba(79,70,229,.2);box-shadow:0 4px 6px rgba(0,0,0,.05)}.btn-secondary:hover{background:#f8fafc;color:#4338ca;transform:translateY(-2px);box-shadow:0 6px 10px rgba(0,0,0,.1)}.btn-icon{font-size:1.1rem}.cta-section{background:linear-gradient(135deg,#f9fafb,#f1f5f9);padding:2.5rem;border-radius:12px;margin:3rem 0;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,.05)}.text-link{color:#4f46e5;text-decoration:none;position:relative;font-weight:500;transition:color .2s ease}.text-link:after{content:"";position:absolute;width:100%;height:2px;bottom:-2px;left:0;background-color:#4f46e5;transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease}.text-link:hover{color:#4338ca}.text-link:hover:after{transform:scaleX(1);transform-origin:bottom left}.software-overview{position:relative;overflow:hidden}.software-icon{font-size:6rem;display:flex;justify-content:center;align-items:center;height:100%;color:#4f46e5;opacity:.8}.subsection{margin-top:2rem;margin-bottom:2rem}.subsection h3{font-size:1.4rem;font-weight:600;color:#2d3748;margin-bottom:1rem}.tutorial-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-top:1.5rem}.tutorial-card{display:flex;background-color:#fff;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.05);overflow:hidden;transition:all .3s ease;text-decoration:none;color:inherit}.tutorial-card:hover{transform:translateY(-8px);box-shadow:0 12px 20px rgba(0,0,0,.1);text-decoration:none;color:inherit}.tutorial-number{width:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4e54c8,#8f94fb);color:#fff;font-size:1.4rem;font-weight:700;padding:1rem}.tutorial-content{padding:1.5rem;flex-grow:1;position:relative}.tutorial-content h3{font-size:1.2rem;margin-bottom:.5rem;color:#2d3748;font-weight:600}.tutorial-content p{font-size:.9rem;color:#718096;margin-bottom:1.5rem}.tutorial-badge{position:absolute;bottom:1rem;right:1rem;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.tutorial-badge.pdf{background-color:hsla(0,79%,66%,.1);color:#e53e3e}.tutorial-badge.zip{background-color:rgba(76,81,191,.1);color:#4c51bf}.documentation-list{margin-top:1.5rem}.resource-item{display:flex;align-items:center;padding:1.5rem;background-color:#fff;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.05);text-decoration:none;color:inherit;margin-bottom:1rem;transition:all .3s ease;position:relative}.resource-item:hover{transform:translateY(-5px);box-shadow:0 8px 15px rgba(0,0,0,.1);text-decoration:none;color:inherit}.resource-content{flex-grow:1}.resource-content h3{font-size:1.1rem;font-weight:600;color:#2d3748;margin-bottom:.3rem}.resource-content p{color:#718096;font-size:.9rem;margin-bottom:0}.resource-badge{padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.resource-badge.pdf{background-color:hsla(0,79%,66%,.1);color:#e53e3e}.resource-badge.html{background-color:rgba(72,187,120,.1);color:#48bb78}.maps-container{display:flex;flex-direction:column;gap:30px;margin-top:2rem}.map-category{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.05)}.map-category-header{display:flex;align-items:center;padding:1.25rem;background:linear-gradient(135deg,#f9fafb,#edf2f7);border-bottom:1px solid rgba(0,0,0,.05)}.map-category-icon{font-size:1.5rem;margin-right:1rem;color:#4f46e5}.map-category-header h3{font-size:1.2rem;font-weight:600;color:#2d3748;margin:0}.map-items{padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:15px;gap:15px}.map-item{display:flex;align-items:center;padding:1rem;background-color:#f8fafc;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.025);text-decoration:none;color:#4a5568;transition:all .2s ease}.map-item:hover{background-color:#edf2f7;transform:translateY(-3px);box-shadow:0 4px 6px rgba(0,0,0,.05);text-decoration:none;color:#2d3748}.map-item-icon{font-size:1.2rem;margin-right:.75rem;color:#4f46e5}.map-item-content{display:flex;flex-direction:column}.map-name{font-weight:500;color:#2d3748}.map-details{font-size:.8rem;color:#718096}.papers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-top:1.5rem}.paper-card{display:flex;flex-direction:column;background-color:#fff;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.05);overflow:hidden;transition:all .3s ease;padding:1.5rem;height:100%}.paper-card,.paper-card:hover{text-decoration:none;color:inherit}.paper-card:hover{transform:translateY(-8px);box-shadow:0 12px 20px rgba(0,0,0,.1)}.paper-icon{font-size:2rem;color:#4f46e5;margin-bottom:1rem}.paper-content{flex-grow:1;display:flex;flex-direction:column}.paper-content h3{font-size:1.2rem;margin-bottom:.5rem;color:#2d3748;font-weight:600}.paper-content p{font-size:.9rem;color:#718096;margin-bottom:1.5rem;flex-grow:1}.paper-badge{align-self:flex-start;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.paper-badge.pdf{background-color:hsla(0,79%,66%,.1);color:#e53e3e}.paper-badge.ppt{background-color:rgba(237,137,54,.1);color:#ed8936}.code-resources{display:flex;flex-direction:column;gap:30px;margin-top:2rem}.implementation-section{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.05);padding:1.5rem}.implementation-title{font-size:1.2rem;font-weight:600;color:#2d3748;margin-bottom:1.5rem;position:relative;padding-left:1rem;border-left:4px solid #4f46e5}.code-item{display:flex;align-items:center;padding:1rem;background-color:#f8fafc;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.025);text-decoration:none;color:#4a5568;transition:all .2s ease;margin-bottom:1rem}.code-item:hover{background-color:#edf2f7;transform:translateX(5px);box-shadow:0 4px 6px rgba(0,0,0,.05);text-decoration:none;color:#2d3748}.code-icon{width:40px;height:40px;border-radius:8px;background-color:#4f46e5;display:flex;align-items:center;justify-content:center;margin-right:1rem}.code-lang{color:#fff;font-weight:700;font-size:.8rem;font-family:monospace}.code-content h4{font-size:1rem;font-weight:600;color:#2d3748;margin-bottom:.2rem;font-family:monospace}.code-content p{font-size:.9rem;color:#718096;margin-bottom:0}.download-package{display:flex;align-items:center;padding:1.5rem;background-color:#f8fafc;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.05);text-decoration:none;color:inherit;transition:all .3s ease;margin-top:1rem}.download-package:hover{background-color:#edf2f7;transform:translateY(-5px);box-shadow:0 8px 15px rgba(0,0,0,.1);text-decoration:none;color:inherit}.package-icon{font-size:2rem;margin-right:1.5rem;color:#4f46e5}.package-content{flex-grow:1;position:relative}.package-content h4{font-size:1.1rem;font-weight:600;color:#2d3748;margin-bottom:.3rem}.package-content p{color:#718096;font-size:.9rem;margin-bottom:0}.package-badge{position:absolute;top:0;right:0;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background-color:rgba(76,81,191,.1);color:#4c51bf}.demo-card{display:flex;align-items:flex-start;background-color:#fff;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.05);padding:2rem;margin-top:1.5rem}.demo-icon{font-size:3rem;margin-right:2rem;color:#4f46e5}.demo-content{flex-grow:1}.demo-content h3{font-size:1.3rem;font-weight:600;color:#2d3748;margin-bottom:1rem}.demo-content p{color:#718096;margin-bottom:.75rem}.demo-note{padding:.75rem;background-color:hsla(38,93%,77%,.2);border-left:4px solid #f6ad55;border-radius:4px;font-size:.9rem;color:#c05621;margin-top:1rem}.btn-sm{padding:.5rem 1rem;font-size:.85rem}h2 .date{font-size:14px}.footer{background-color:#f8f9fa;color:#6c757d;margin-top:60px;padding:40px 0;border-top:1px solid rgba(0,0,0,.05);font-size:.9rem;position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4e54c8,#8f94fb);opacity:.7}.footer a{color:#4f46e5;text-decoration:none;transition:color .2s ease}.footer a:hover{color:#4338ca;text-decoration:underline}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:20px;gap:20px;width:100%;transition:grid-template-columns .5s ease}.projects-grid>*{transition:all .5s ease;will-change:transform,opacity,grid-column,grid-row}@media (prefers-reduced-motion:no-preference){.projects-grid{grid-auto-flow:dense}@keyframes gridItemAppear{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.projects-grid .card{animation:gridItemAppear .5s ease forwards}}.projects-grid .card{margin-bottom:0!important;border:none;border-radius:12px;position:relative;padding:1.5rem;height:100%;width:100%!important;min-width:250px!important;display:flex;flex-direction:column;background-color:#fff;box-shadow:0 10px 30px -15px rgba(0,0,0,.1);overflow:hidden;transition:transform .3s cubic-bezier(.165,.84,.44,1),box-shadow .3s cubic-bezier(.165,.84,.44,1),background-color .3s ease,opacity .3s ease;opacity:1;will-change:transform,opacity}.projects-grid .card:after{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#4e54c8,#8f94fb);opacity:0;transition:opacity .3s ease}.projects-grid .card:hover{transform:translateY(-8px);box-shadow:0 20px 40px -20px rgba(0,0,0,.2)}.projects-grid .card:hover:after{opacity:1}.projects-grid .card h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#2d3748;position:relative;z-index:1}.projects-grid .card-body{font-size:.95rem;line-height:1.6;color:#4a5568;min-height:100px;flex:1 1;position:relative;z-index:1}.projects-grid .card-body a{color:#4f46e5;text-decoration:none;font-weight:500;position:relative;transition:all .2s ease}.projects-grid .card-body a:after{content:"";position:absolute;width:100%;height:2px;bottom:-2px;left:0;background-color:#4f46e5;transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease}.projects-grid .card-body a:hover{color:#4338ca}.projects-grid .card-body a:hover:after{transform:scaleX(1);transform-origin:bottom left}.projects-grid .card-body-wrapper{position:relative;z-index:2;height:100%;display:flex;flex-direction:column}.projects-grid .card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.projects-grid .card-actions .btn{border-radius:6px;padding:.5rem 1rem;font-weight:500;letter-spacing:.3px;text-transform:uppercase;font-size:.8rem;transition:all .2s ease;box-shadow:0 2px 5px rgba(0,0,0,.1)}.projects-grid .card-actions .btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none}.projects-grid .card-actions .btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.projects-grid .card-bg{position:absolute;top:55px;right:-30px;width:130px;height:130px;opacity:.1;background-repeat:no-repeat;background-position:50%;background-size:contain;transition:transform .5s ease,opacity .5s ease;z-index:0}.projects-grid .card:hover .card-bg{transform:translateX(-20px) rotate(-5deg) scale(1.1);opacity:.15}.maskmail-card .card-bg{background-image:url(/images/maskmail_logo.png)}.countdoku-card .card-bg{background-image:url(/images/countdoku_logo.png)}.kidzfunart-card .card-bg{background-image:url(/images/kidzfunart_logo.png)}.reactjsdoc-card .card-bg{background-image:url(/images/react_logo.png)}.iwittr-card .card-bg{background-image:url(/images/iwittr_logo.png)}.tweets-card .card-bg{background-image:url(/images/tweetsdogood_logo.png)}.dlc-card .card-bg{background-image:url(/images/dlc_logo.jpg)}.fb-card .card-bg{background-image:url(/images/fb_logo.png)}.dafty-card .card-bg{background-image:url(https://lh3.googleusercontent.com/bZuYFW29AxRyXIWL5US_Domo1R9Yl_uJzUz0Bbw-r8UUhn47CW6Hl4AXLpLJrlXqIDbuuUJ5vQ=w128-h128-e365)}.explorewallpapers-card .card-bg{background-image:url(/images/explorewallpapers_logo.png)}.feedfinder-card .card-bg{background-image:url(/images/feedfinder_logo.png)}.hugejson-card .card-bg{background-image:none}.myelevation-card .card-bg{background-image:url(/images/myelevation_logo.svg)}.promise-card .card-bg{background-image:url(/images/PromiseLogo.svg)}.lazylist-card .card-bg{background-image:url(https://raw.githubusercontent.com/shaneosullivan/lazylist/master/public/icons/apple-icon-180x180.png)}.mobile-card .card-bg{background-image:url(/images/phone_logo.png)}.tesla-card .card-bg{background-image:url(/images/tesla_logo.png)}.dojo-card .card-bg{background-image:url(/images/dojo_logo.png)}.gitmeme-card .card-bg{background-image:url(/images/gitmeme_logo.png)}.linkedin_profile{min-height:140px}.tweet_timeline{max-width:400px}@media (max-width:991.98px){.navbar .container:has(.navbar-collapse.show){box-shadow:0 8px 16px rgba(0,0,0,.15)}.navbar .container{max-height:95vh;overflow-y:auto}}