:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:var(--bg, #242424);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:block;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:100%;max-width:1200px;margin:0 auto;padding:clamp(1.25rem,4vw,2.75rem) clamp(1.25rem,5vw,3.2rem) 3rem;text-align:left;box-sizing:border-box}.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}:root{--bg: #0f1724;--card: #0b1220;--muted: #94a3b8;--accent: #646cff;--glass: rgba(255,255,255,.03);--radius: 12px;--max-width: 1100px}html,body{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:linear-gradient(180deg,#071025,#071828);color:#e6eef8;transition:background .6s ease,color .6s ease;scrollbar-gutter:stable}html{overflow-y:scroll}html.theme-dark,body.theme-dark{background:linear-gradient(180deg,#071025,#071828);color:#e6eef8}.site-header{position:relative;display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr) auto;grid-template-areas:"brand nav actions";align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);padding:clamp(1rem,2vw,1.5rem) 0 clamp(1.25rem,3vw,2.5rem);border-bottom:1px solid rgba(255,255,255,.03);transition:border-color .5s ease,background .5s ease;box-sizing:border-box}.site-header .brand{grid-area:brand;width:auto}.site-header .nav-shell{grid-area:nav;display:flex;align-items:center;justify-content:center}.site-header .social-icons{grid-area:actions;justify-content:flex-end;gap:.65rem;min-width:0;flex-wrap:nowrap;display:flex;align-items:center}.site-header .social-icons>:not(.nav-toggle){display:inline-flex;align-items:center;justify-content:center}.nav-toggle{display:none;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--muted);border-radius:12px;width:46px;height:46px;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.nav-toggle:hover{background:#ffffff1f;color:#fff}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.theme-light .nav-toggle{background:#0f172a0f;border-color:#0f172a1f;color:#1f2937}body.theme-light .nav-toggle:hover{background:#0f172a26;color:#0f1724}.nav-toggle-icon{display:inline-flex;flex-direction:column;gap:6px;width:22px}.nav-toggle-icon span{display:block;height:2px;border-radius:999px;background:currentColor;transition:transform .25s ease,opacity .25s ease}.nav-toggle.is-open .nav-toggle-icon span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle.is-open .nav-toggle-icon span:nth-child(2){opacity:0}.nav-toggle.is-open .nav-toggle-icon span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.top-nav{display:flex;justify-content:center;gap:1.25rem;min-width:0;flex-wrap:wrap;transition:max-height .25s ease,opacity .25s ease}.top-nav a{color:var(--muted);margin:0;text-decoration:none;font-weight:600;padding:.15rem 0;display:inline-flex}.top-nav a:hover{color:var(--accent)}.hero{padding:clamp(1.8rem,5vw,3.25rem) 0;text-align:left}.hero-inner{max-width:var(--max-width);margin:0 auto}.hero h2{margin:0 0 .5rem;font-size:clamp(1.8rem,4vw,2.6rem)}.hero p{margin:0;color:var(--muted);line-height:1.6;font-size:clamp(1rem,2.3vw,1.1rem)}.projects-section{padding:2rem 0 3rem;display:flex;flex-direction:column;align-items:center}.projects-section h2{text-align:left;max-width:var(--max-width);margin:0 auto 1rem}.projects-grid{display:grid;width:100%;margin:0 auto;min-height:320px;transition:color .6s ease;grid-template-columns:repeat(auto-fit,minmax(250px,340px));justify-content:center;gap:clamp(1rem,3vw,2rem);align-items:stretch}.project-wrapper{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:340px;margin:0 auto}.project-card{border:1px solid rgba(255,255,255,.04);padding:clamp(1rem,2vw,1.5rem);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;width:100%;min-height:280px;box-sizing:border-box;position:relative;overflow:hidden;transition:background-color .55s ease,background .55s ease,box-shadow .55s ease,transform .18s ease}.project-card:not(.has-bg){background:linear-gradient(180deg,#ffffff05,#ffffff03)}.project-card.has-bg{background-color:transparent}.project-card:hover{transform:translateY(-6px);box-shadow:0 10px 30px #00000080}.project-card.has-bg:hover{transform:translateY(-6px) scale(1.015)}.project-card.has-bg{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.project-card.has-bg .bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.project-card.has-bg .image-overlay{position:absolute;inset:0;border-radius:inherit;background:#0a101c4d;z-index:1;transition:background .6s,opacity .6s;pointer-events:none}body.theme-light .project-card.has-bg .image-overlay{background:#0a101c0f}.project-card.has-bg .project-content{background:linear-gradient(145deg,#0a0e16c7,#0c101aa6 55%,#10162280)!important;color:#f8fafc;border:1px solid rgba(255,255,255,.08);box-shadow:0 3px 14px -4px #0000008c;backdrop-filter:blur(4px) saturate(120%);-webkit-backdrop-filter:blur(4px) saturate(120%);margin-left:calc(-1*clamp(1rem,2vw,1.5rem));margin-right:calc(-1*clamp(1rem,2vw,1.5rem));padding-left:clamp(1rem,2vw,1.5rem);padding-right:clamp(1rem,2vw,1.5rem);position:relative;z-index:2}body.theme-light .project-card.has-bg .project-content{background:linear-gradient(160deg,#17203494,#222c4270 60%,#2e3a4e45)!important;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 14px -4px #00000052;color:#fff;margin-left:calc(-1*clamp(1rem,2vw,1.5rem));margin-right:calc(-1*clamp(1rem,2vw,1.5rem));padding-left:clamp(1rem,2vw,1.5rem);padding-right:clamp(1rem,2vw,1.5rem)}body.theme-light .project-card.has-bg .project-content .project-desc{color:#f2f6fa!important;font-weight:500;line-height:1.5;letter-spacing:.15px;text-shadow:0 1px 2px rgba(0,0,0,.35)}.project-card.has-bg .project-content .project-desc{line-height:1.5;letter-spacing:.15px}.project-card.has-bg .project-meta{margin-left:calc(-1*clamp(1rem,2vw,1.5rem));margin-right:calc(-1*clamp(1rem,2vw,1.5rem));padding-left:clamp(1rem,2vw,1.5rem);padding-right:clamp(1rem,2vw,1.5rem);position:relative;z-index:2}.tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tech-pill{font-size:.8rem;font-weight:600;color:#1e293b;background:#f8fafcf2;border:1px solid rgba(0,0,0,.15);padding:.25rem .5rem;border-radius:4px;display:inline-block;text-shadow:0 1px 1px rgba(255,255,255,.5);box-shadow:0 2px 6px #00000040,0 4px 12px #00000026,inset 0 1px #fffc}.tech-pill:not(:last-child){margin-right:.35rem}.project-card.has-bg .tech-pill{color:#1e293b;background:#f8fafcfa;border:1px solid rgba(0,0,0,.2);text-shadow:0 1px 1px rgba(255,255,255,.6);box-shadow:0 3px 8px #00000059,0 5px 15px #00000040,inset 0 1px #ffffffe6}body.theme-light .project-card.has-bg .tech-pill{color:#1e293b;background:#f8fafcfa;border:1px solid rgba(0,0,0,.25);text-shadow:0 1px 1px rgba(255,255,255,.6);box-shadow:0 3px 8px #0006,0 5px 15px #0000004d,inset 0 1px #fffffff2}.links{display:flex;gap:.75rem;flex-wrap:wrap}.project-link{font-size:.85rem;font-weight:700;color:#1e293b;text-decoration:none;background:#f8fafcf2;border:1px solid rgba(0,0,0,.2);padding:.35rem .75rem;border-radius:6px;transition:all .2s ease;text-shadow:0 1px 1px rgba(255,255,255,.5);box-shadow:0 2px 6px #00000040,0 4px 12px #00000026,inset 0 1px #fffc}.project-link:hover{color:#0f172a;border-color:#0000004d;background:#fffffffa;box-shadow:0 3px 8px #0000004d,0 5px 15px #0003,inset 0 1px #ffffffe6;transform:translateY(-1px)}.project-card.has-bg .project-link{color:#1e293b;border-color:#00000040;background:#f8fafcfa;text-shadow:0 1px 1px rgba(255,255,255,.6);box-shadow:0 3px 8px #00000059,0 5px 15px #00000040,inset 0 1px #ffffffe6}.project-card.has-bg .project-link:hover{color:#0f172a;border-color:#00000059;background:#fff;box-shadow:0 4px 10px #0006,0 6px 20px #0000004d,inset 0 1px #fffffff2;transform:translateY(-1px)}body.theme-light .project-card.has-bg .project-link{color:#1e293b;border-color:#0000004d;background:#f8fafcfa;text-shadow:0 1px 1px rgba(255,255,255,.6);box-shadow:0 3px 8px #0006,0 5px 15px #0000004d,inset 0 1px #fffffff2}body.theme-light .project-card.has-bg .project-link:hover{color:#0f172a;border-color:#0006;background:#fff;box-shadow:0 4px 10px #00000073,0 6px 20px #00000059,inset 0 1px #fff;transform:translateY(-1px)}.project-card.has-bg .project-content[style*="rgba(18,22,34,0.34)"]{background:none!important}.project-card.has-bg:hover .project-content{box-shadow:0 6px 20px -6px #0000008c}body.theme-light .project-card.has-bg:hover .project-content{box-shadow:0 6px 18px -6px #00000061}.purpose-link{display:block;width:100%;box-sizing:border-box;font-size:.9rem;font-weight:600;color:#fff;text-decoration:none;text-align:center;padding:.75rem 1rem;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0%,#7c84ff 100%);border:1px solid rgba(100,108,255,.4);box-shadow:0 2px 8px #646cff40,0 1px 3px #00000026;transition:all .2s ease;cursor:pointer}.purpose-link:hover{background:linear-gradient(135deg,#7c84ff,#8c94ff);box-shadow:0 4px 14px #646cff66,0 2px 6px #0003;transform:translateY(-2px);border-color:#646cff99}.purpose-link:active{transform:translateY(0);box-shadow:0 2px 6px #646cff4d,0 1px 3px #00000026}body.theme-light .purpose-link{background:linear-gradient(135deg,#5157d6,#6169e6);color:#fff;border-color:#5157d64d;box-shadow:0 2px 8px #5157d633,0 1px 3px #0000001a}body.theme-light .purpose-link:hover{background:linear-gradient(135deg,#6169e6,#717af6);box-shadow:0 4px 14px #5157d659,0 2px 6px #00000026;border-color:#5157d680}.contact-section{padding:clamp(1.8rem,6vw,3.2rem) 0 clamp(2.2rem,7vw,3.8rem);max-width:var(--max-width);margin:0 auto;text-align:left}.contact-section a{color:var(--accent);font-weight:600}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(.75rem,4vw,1.5rem);flex-wrap:wrap}.footer-socials a{color:var(--muted);margin-left:.6rem;text-decoration:none;font-weight:700}.footer-socials a:hover{color:var(--accent)}.site-footer{padding:2rem 0;color:var(--muted);text-align:center;border-top:1px solid rgba(255,255,255,.03)}.modal-overlay{position:fixed;inset:0;background:#02061799;display:flex;align-items:center;justify-content:center;z-index:60;padding:clamp(.75rem,4vw,2rem);overflow-y:auto}.modal-content{background:linear-gradient(180deg,#121622fa,#0a0c14fa);border:1.5px solid rgba(255,255,255,.08);border-radius:18px;max-width:820px;width:100%;box-shadow:0 20px 60px #000000b3;position:relative;padding:0;transition:background .6s ease,color .6s ease,border-color .6s ease;max-height:min(85vh,860px);overflow:visible}.modal-body{position:relative;z-index:1;padding:clamp(1.5rem,4vw,2.3rem)}.modal-body.has-image-overlay:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffffc7,#f5f8fcad 45%,#e8effa8c);border-radius:inherit;z-index:-1}body.theme-light .modal-body.has-image-overlay:before{background:linear-gradient(180deg,#ffffffd9,#fafcffbf 45%,#f2f6fc99)}.modal-content.has-image-bg:before{display:none}.modal-body{position:relative;z-index:1}.modal-close{position:absolute;top:.65rem;right:.65rem;width:40px;height:40px;border-radius:999px;border:none;background:#00000059;color:#fff;font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}body.theme-light .modal-close{background:#0f16221a;color:#0b1220}.modal-close:hover{transform:scale(1.06)}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-content.has-image-bg{background-size:cover;background-position:center;background-repeat:no-repeat;background-clip:padding-box;overflow:hidden;overflow-y:auto;color:#041025}.modal-content.has-image-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffffc7,#f5f8fcad 45%,#e8effa8c);pointer-events:none;z-index:0;border-radius:inherit}body.theme-light .modal-content.has-image-bg:before{background:linear-gradient(180deg,#ffffffd9,#fafcffbf 45%,#f2f6fc99)}.modal-content.has-image-bg .modal-lead,.modal-content.has-image-bg .modal-muted,.modal-content.has-image-bg .modal-italic{color:#041025}.modal-content.has-image-bg .modal-meta{color:#18376a;font-weight:600}.modal-content.has-image-bg .modal-muted{opacity:.96}.modal-content.has-image-bg .modal-lead{color:#041934}body.theme-dark .modal-content.has-image-bg .tech-pill{color:#041025}.modal-content.has-image-bg .modal-lead{font-size:1.05em;font-weight:600;line-height:1.45}.modal-content.has-image-bg .modal-meta{font-size:.95em;font-weight:500;line-height:1.4}.modal-content.has_image_bg .modal-muted{color:#d6dde6}.modal-content.has_image_bg .modal-italic{color:#c7d0da}body.theme-light .modal-content.has-image-bg .tech-pill{background:#0000000f;color:#0f172a}body.theme-light .modal-content.has-image-bg .project-link:hover{filter:brightness(1.07)}.privacy-section{padding:2rem 0 3rem;text-align:left;scroll-margin-top:80px;min-height:100vh}.privacy-inner{max-width:var(--max-width);margin:0 auto;background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:3.5rem 1.25rem 1.25rem}.privacy-content{max-width:var(--max-width);margin:0 auto;background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:2rem clamp(1.25rem,4vw,2.5rem);line-height:1.7}body.theme-light .privacy-content{background:linear-gradient(180deg,#fff9,#f5f8fc80);border:1px solid rgba(0,0,0,.06);color:#1f2937}.email-notice-box{margin:2.5rem 0;padding:2rem clamp(1.5rem,4vw,2.5rem);background:linear-gradient(135deg,#646cff26,#7c84ff1f);border:2px solid rgba(100,108,255,.4);border-radius:16px;box-shadow:0 4px 20px #646cff40,0 8px 40px #646cff26,inset 0 1px #ffffff1a;position:relative;overflow:hidden}.email-notice-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent) 0%,#7c84ff 50%,var(--accent) 100%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.6}}.email-notice-icon{font-size:3rem;text-align:center;margin-bottom:1rem;filter:drop-shadow(0 2px 8px rgba(100,108,255,.4))}.email-notice-title{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:var(--accent);text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.1)}.email-notice-text{margin:0;line-height:1.8;font-size:1.05rem;color:#fffffff2;text-align:left}body.theme-light .email-notice-box{background:linear-gradient(135deg,#5157d61f,#6169e614);border-color:#5157d680;box-shadow:0 4px 20px #5157d633,0 8px 40px #5157d61f,inset 0 1px #fff9}body.theme-light .email-notice-box:before{background:linear-gradient(90deg,#5157d6,#6169e6,#5157d6)}body.theme-light .email-notice-title{color:#4c54cc}body.theme-light .email-notice-text{color:#1e293b}.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);background:transparent;border:1px solid rgba(255,255,255,.03);padding:.35rem .6rem;border-radius:8px;text-decoration:none;font-weight:700;margin:1.2rem 0 .6rem;cursor:pointer}.back-link:focus{outline:2px solid rgba(100,108,255,.18)}.privacy-title{margin:.25rem 0 .4rem}.privacy-meta{color:var(--muted);margin:0 0 1rem}.privacy-section-block h3{margin:.6rem 0 .4rem}.privacy-section-content{color:var(--muted);line-height:1.6}.privacy-section-block ul{margin:.25rem 0 .8rem 1.2rem;color:var(--muted)}.privacy-footer{color:var(--muted);margin-top:1rem;font-size:.9rem}html.theme-light,body.theme-light{background:linear-gradient(180deg,#eef2f6,#f7fbfd)!important;color:#222b3a!important;min-height:100vh;width:100%}body.theme-light{display:block!important}body.theme-light #root{background:transparent!important}body.theme-light .site-header,body.theme-light .site-footer{border-color:#0000000f}body.theme-light .project-card{background-color:#f5f6f88c!important;border:1px solid rgba(16,24,40,.06)!important;color:#0f1724!important;box-shadow:0 2px 12px #0000000f!important}body.theme-light .project-card.has-bg{background-color:transparent!important}body.theme-light .project-card.has-bg .image-overlay{background:#0a101c0f!important}body.theme-light .project-card:not(.has-bg) .project-content{background:#ffffff0f!important;color:#0f1724!important;box-shadow:none!important}body.theme-light .project-card.has-bg .project-content h3,body.theme-light .project-card.has-bg .project-content .project-desc,body.theme-light .project-card.has-bg .project-content .project-meta{color:#fff!important}body.theme-light .project-card:not(.has-bg) .project-desc,body.theme-light .project-card:not(.has-bg) .project-meta{color:#475569!important}body.theme-light .tagline,body.theme-light .top-nav a,body.theme-light .footer-socials a,body.theme-light .hero p{color:#475569!important}body.theme-light .tech-pill{background:#f8fafcf2!important;color:#1e293b!important;border:1px solid rgba(0,0,0,.12)!important;box-shadow:0 1px 3px #0000001f,0 2px 6px #00000014,inset 0 1px #fffc!important;text-shadow:0 1px 1px rgba(255,255,255,.5)!important;font-weight:600!important}body.theme-light .project-link{background:#f8fafcf2!important;color:#1e293b!important;border:1px solid rgba(0,0,0,.15)!important;box-shadow:0 1px 3px #0000001f,0 2px 6px #00000014,inset 0 1px #fffc!important;text-shadow:0 1px 1px rgba(255,255,255,.5)!important;font-weight:700!important}body.theme-light .project-link:hover{background:#fffffffa!important;border-color:#00000040!important;box-shadow:0 2px 4px #00000026,0 3px 8px #0000001a,inset 0 1px #ffffffe6!important;transform:translateY(-1px)!important}body.theme-light .modal-content:not(.has-image-bg){background:linear-gradient(180deg,#fff,#f6f8fa)!important;border:1.5px solid rgba(0,0,0,.08)!important}body.theme-light .modal-content.has-image-bg{background-color:transparent!important;border:1.5px solid rgba(0,0,0,.1)!important}.modal-content.has-image-bg{background-size:cover;background-position:center;background-repeat:no-repeat}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-400.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-500.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-600.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Inter-700.ttf) format("truetype")}html,body,.project-card,.modal-content{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body.theme-light .modal-content.has-image-bg{color:#0f1622}body.theme-light .modal-content.has-image-bg h3{color:#0b1420!important;text-shadow:0 1px 2px rgba(255,255,255,.55)}body.theme-light .modal-content.has-image-bg .modal-lead{color:#0b1a29!important;font-weight:600;letter-spacing:.15px}body.theme-light .modal-content.has_image_bg .modal-muted,body.theme-light .modal-content.has_image_bg .modal-meta{text-shadow:0 1px 1px rgba(255,255,255,.4)}body.theme-light .modal-content.has-image-bg .tech-pill:not(:last-child):after{opacity:.55}body.theme-light .modal-content.has-image-bg{backdrop-filter:blur(6px) saturate(150%);-webkit-backdrop-filter:blur(6px) saturate(150%);box-shadow:0 10px 28px -8px #0000002e,0 2px 6px -2px #0000001f}.theme-toggle{flex-shrink:0;width:42px;justify-content:center;display:flex}.theme-toggle svg{display:block;width:18px;height:18px}@media (prefers-reduced-motion: reduce){html,body,.project-card,.project-card .project-content,.theme-toggle,.modal-content{transition:none!important}}.modal-content .tech{gap:.3rem;flex-wrap:wrap}.modal-content .tech-pill{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;font-weight:500;color:inherit!important;position:relative}.modal-content .tech-pill:not(:last-child):after{content:"·";margin-left:.35rem;margin-right:.15rem;opacity:.45;font-weight:400}body.theme-light .modal-content.has-image-bg .tech-pill{background:transparent!important;color:#0c1320!important}body.theme-light .modal-content.has-image-bg .project-link{background:#ffffffa6!important;color:#0c1320!important;border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 2px #00000014,0 2px 6px -2px #0000002e;transition:background .18s ease,color .18s ease,border-color .18s ease}body.theme-light .modal-content.has-image-bg .project-link:hover{background:#ffffffd9!important;border-color:#00000059;filter:none}body.theme-light .modal-content.has-image-bg .project-link:active{background:#f0f4f8f2!important}.theme-toggle{position:relative;width:42px;height:42px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--muted);transition:color .3s ease}.theme-toggle:hover{color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.theme-toggle .icon-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .44s ease,transform .44s ease}.theme-toggle .icon-sun{opacity:0;transform:scale(.7) rotate(-25deg)}.theme-toggle .icon-moon,body.theme-light .theme-toggle .icon-sun{opacity:1;transform:scale(1) rotate(0)}body.theme-light .theme-toggle .icon-moon{opacity:0;transform:scale(.7) rotate(25deg)}.theme-toggle svg{width:20px;height:20px;display:block}html{scrollbar-gutter:stable}html{scrollbar-width:thin;scrollbar-color:rgba(100,108,255,.55) rgba(255,255,255,.05)}html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:#ffffff0a}html::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#646cffa6,#646cff7a);border-radius:10px;border:2px solid rgba(0,0,0,.25)}html::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#747cffcc,#646cff99)}body.theme-light html::-webkit-scrollbar-track{background:#0000000f}body.theme-light html::-webkit-scrollbar-thumb{border-color:#fff6}.top-nav a{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width: 1080px){.site-header{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "actions" "nav";align-items:stretch}.site-header .nav-shell{width:100%}.social-icons{justify-content:flex-start;gap:.75rem;margin-bottom:.25rem;flex-wrap:nowrap;align-items:center}.nav-toggle{display:flex}.top-nav{width:100%;flex-direction:column;align-items:flex-start;gap:.35rem;max-height:0;opacity:0;overflow:hidden;padding-left:0;background:#060b14eb;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding-inline:clamp(.75rem,4vw,1.25rem)}body.theme-light .top-nav{background:#ffffffeb;border-color:#0f172a14}.top-nav.is-open{max-height:320px;opacity:1;padding-top:.5rem;padding-bottom:.7rem}}@media (max-width: 768px){.top-nav{width:100%}.top-nav a{font-size:.95rem}.hero{text-align:left}.projects-section{width:100%}.modal-overlay{align-items:flex-start}.modal-content{border-radius:14px}}@media (max-width: 600px){.top-nav{flex-direction:column}.top-nav a{width:100%;padding:.3rem 0}.projects-grid{grid-template-columns:1fr}.project-card{min-height:0}.contact-section p{font-size:1rem}.modal-body{padding:1.4rem 1.1rem 1.5rem}.modal-close{top:.35rem;right:.35rem;width:36px;height:36px}}@media (max-width: 420px){.brand h1{font-size:1.4rem}.brand .tagline{font-size:.85rem}.social-icons{gap:.4rem}.project-card{padding:1rem}}.modal-version-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;align-items:center}.modal-version-picker{display:flex;align-items:center;gap:.4rem;font-size:.95rem;color:var(--muted)}.modal-version-picker select{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:inherit;border-radius:8px;padding:.2rem .5rem;font-size:.95rem}body.theme-light .modal-version-picker select{background:#0000000f;border-color:#0000001f;color:#0f172a}
