html{scroll-behavior:smooth;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;color:#1f2937}body{margin:0;padding:0;background:linear-gradient(135deg,#3e235a,#1e2a78,#000)}h2{font-size:1.75rem;margin-bottom:12px}button{font-family:inherit}.section-base{min-height:calc(100vh - 50rem);padding:120px 24px;display:flex;flex-direction:column;justify-content:center;gap:24px}.section-tall{min-height:120vh;padding:160px 24px}html,body{overflow-x:hidden}.navbar{width:100%;background:#fff;box-shadow:0 2px 8px #0000000a;position:fixed;top:0;left:0;z-index:100}.navbar-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0;height:72px}.brand{font-size:2.2rem;font-weight:700;letter-spacing:1px;margin-right:40px}.nav-links-wrapper{flex:1;display:flex;justify-content:center}.links{display:flex;gap:40px;justify-content:space-evenly;min-width:260px}.nav-button{background:none;border:none;font-size:1.3rem;font-weight:500;cursor:pointer;padding:8px 16px;transition:color .2s}.nav-button:hover{color:#6720b3}.icon-links{display:flex;gap:24px;margin-left:24px}.icon-button{background:none;border:none;padding:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:inherit;line-height:0}.icon-button:hover{color:#6720b3}.icon-button svg{width:32px;height:32px;display:block}@media (max-width: 800px){.navbar-inner{flex-direction:column;height:auto;padding:16px}.brand{margin-right:0;margin-bottom:12px}.nav-links-wrapper{justify-content:flex-start;width:100%}.icon-links{margin-left:0;margin-top:12px}}.about-section{background:#0000004d;margin:48px auto;color:#fff;border-radius:24px;box-shadow:0 4px 24px #0000001a;padding:34px 22px}.about-container{display:flex;align-items:center;justify-content:flex-start;gap:45px;padding:45px 22px;margin:0 auto;max-width:1300px}.photo-wrapper{flex-shrink:0}.profile-photo{width:182px;height:182px;object-fit:cover;border-radius:50%;box-shadow:0 4px 24px #0000001f}.about-text{flex:2;max-width:900px}.about-text h2{font-size:2.45rem;margin-bottom:1.75rem;margin-top:0;font-weight:700}.about-text p{font-size:1.225rem;line-height:1.26;max-width:100%}.skills-section{color:#111;border-radius:24px;box-shadow:0 4px 24px #0000001a;margin:48px auto;padding:34px 22px}.skills-container{max-width:1100px;margin:0 auto}.skills-container h2{font-size:2.1rem;margin-bottom:1.75rem;margin-top:0;font-weight:700;color:#fff}.carousel{display:flex;gap:34px;overflow-x:auto;padding-bottom:17px;scrollbar-width:thin;scrollbar-color:#000 transparent}.carousel::-webkit-scrollbar{height:12px}.carousel::-webkit-scrollbar-track{background:#ccc;border-radius:6px}.carousel::-webkit-scrollbar-thumb{background:#000;border-radius:6px}.carousel::-webkit-scrollbar-thumb:hover{background:#000}.skill-card{min-width:238px;min-height:154px;padding:28px 22px;border-radius:14px;background:#f7f7fa;box-shadow:0 2px 16px #00000014;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;transition:box-shadow .2s}.skill-card.active{box-shadow:0 4px 32px #3c28782e}.skill-title{font-size:1.4rem;font-weight:600;margin-bottom:.84rem}.skill-desc{font-size:.875rem;line-height:1.19}.hint{margin-top:6px;font-size:.56rem;color:#555}.skill-elements{margin-top:.84rem;display:flex;flex-wrap:wrap;gap:8px}.skill-badge{background:#ece9f6;color:#3e235a;border-radius:11px;padding:4px 11px;font-size:.7rem;font-weight:500;transition:background .2s,color .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.skill-badge:hover{background:#3e235a;color:#fff}.projects-section{background:#0009;color:#fff;border-radius:24px;box-shadow:0 4px 24px #140d0d1a;width:100%;max-width:100vw;box-sizing:border-box;margin:48px auto;padding:45px 22px;min-height:490px;display:flex;justify-content:center;align-items:stretch}.projects-container{max-width:1600px;margin:0 auto;max-width:100%;box-sizing:border-box}.section-title{font-size:1.33rem;margin-bottom:17px;font-weight:600}.projects-inner{display:flex;gap:32px;flex-wrap:wrap}.mini-list{flex:0 0 154px;display:flex;flex-direction:column;gap:8px}.mini-card{padding:7px 10px;border-radius:8px;background:#f3f4f6;cursor:pointer;font-size:.6rem;font-weight:500;transition:box-shadow .2s ease;position:relative}.mini-card.active{background:#fff;box-shadow:0 12px 30px #00000014;border:1px solid #2563eb}.mini-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.primary-card{flex:1;background:#fff;border-radius:12px;padding:17px;box-shadow:0 22px 50px #0000000f;display:flex;flex-direction:column;gap:14px;min-width:0}.card-header{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:12px}.title-desc{flex:1;min-width:200px}.project-name{margin:0;font-size:1.12rem;font-weight:700}.project-short{margin:4px 0 0;color:#555}.nav-buttons{display:flex;gap:8px;flex-shrink:0}.nav-btn{background:#f3f4f6;border:none;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:.7rem;font-weight:600;transition:background .2s ease}.nav-btn:hover{background:#e2e8f0}.slider-wrapper{margin-top:8px}.project-details{display:flex;gap:22px;flex-wrap:wrap}.technologies,.description{flex:1;min-width:154px}.tech-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.tech-pill{display:inline-block;padding:4px 8px;background:#f3f4f6;border-radius:999px;font-size:.525rem;font-weight:500}.description p{margin:6px 0 0;line-height:1.4}.no-image{padding:60px;background:#f9f9fb;border-radius:10px;text-align:center;color:#777}.projects-wrapper{display:flex;width:100%;max-width:100%;max-width:none;margin:0 auto;box-sizing:border-box}.projects-sidebar{display:flex;flex-direction:column;gap:12px;margin-right:32px;justify-content:flex-start;align-items:flex-end;padding:24px 0;border-radius:16px 0 0 16px}.project-toggle{min-width:126px;width:126px;text-align:left;box-sizing:border-box;background:#ece9f6;color:#3e235a;border-radius:11px;padding:7px 17px;font-size:.77rem;font-weight:500;border:none;cursor:pointer;transition:background .2s,color .2s;margin-bottom:8px}.project-toggle.active,.project-toggle:hover{background:#3e235a;color:#fff}.project-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-width:0;padding:22px;background:transparent}.project-title{font-size:1.54rem;font-weight:700;margin-bottom:.7rem}.project-desc{font-size:.84rem;margin-bottom:1.05rem}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.4rem}.project-tech-badge{background:#ece9f6;color:#3e235a;border-radius:11px;padding:4px 11px;font-size:.7rem;font-weight:500;transition:background .2s,color .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.project-tech-badge:hover{background:#3e235a;color:#fff}.project-screenshots{width:100%;display:flex;gap:17px;margin-top:1.4rem;overflow-x:auto}.project-screenshot-carousel{width:100%;max-width:none;height:auto;display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:transparent;position:relative}.screenshot-nav-btn{margin:0 11px;font-size:2.2rem;font-weight:400;position:static;top:50%;transform:translateY(-50%);background:none;color:#fff;border:none;border-radius:0;width:28px;height:28px;font-size:1.75rem;font-weight:700;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .2s}.screenshot-nav-btn:hover{opacity:1;color:#6720b3}.screenshot-nav-btn:first-of-type{left:16px}.screenshot-nav-btn:last-of-type{right:16px}.screenshot-img-wrapper{width:100%;aspect-ratio:16 / 9;max-width:100%;position:relative;display:flex;align-items:center;justify-content:center;background:#1f1f1f;overflow:hidden}.project-screenshot-img{width:100%;height:100%;object-fit:contain;display:block;border-radius:0;transition:transform .7s cubic-bezier(.4,1,.6,1),opacity .7s}.project-screenshot-img.slide-in-right{animation:slideInRight .7s cubic-bezier(.4,1,.6,1)}.project-screenshot-img.slide-in-left{animation:slideInLeft .7s cubic-bezier(.4,1,.6,1)}@keyframes slideInRight{0%{opacity:0;transform:translate(30%) scale(1.01)}to{opacity:1;transform:translate(0) scale(1.04)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30%) scale(1.01)}to{opacity:1;transform:translate(0) scale(1.04)}}.project-info{margin-top:0;width:100%;background:#162447;color:#fff;border-radius:8px;padding:17px 17px 11px;margin-top:1.05rem;box-shadow:0 2px 12px #00000008;align-items:flex-start;text-align:left}.project-title,.project-desc{text-align:left;margin-left:0;margin-right:0}.project-source-link{display:inline-flex;align-items:center;margin-top:12px;color:#fff;font-weight:500;font-size:.77rem;text-decoration:none;gap:8px;transition:color .2s}.project-source-link:hover{color:#6720b3}@media (max-width: 1024px){.projects-inner{flex-direction:column}.mini-list{display:none}}.projects-section-title{font-size:2.1rem;margin-bottom:1.75rem;margin-top:0;font-weight:700;color:#fff}#root{max-width:1600px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
