html{scroll-behavior:smooth;text-size-adjust:100%}body{min-height:100vh;min-height:100dvh;overscroll-behavior-y:contain;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@supports (padding:env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}html{scrollbar-gutter:stable}[role=button],a,button{min-height:44px;min-width:44px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--portfolio-accent:rgb(59 130 246);--portfolio-accent-soft:rgba(59,130,246,0.18);--portfolio-accent-glow:rgba(59,130,246,0.35);--portfolio-border:rgba(255,255,255,0.10);--portfolio-border-strong:rgba(255,255,255,0.14);--portfolio-card-bg:rgba(2,6,23,0.55);--portfolio-card-bg-strong:rgba(2,6,23,0.72);--portfolio-hero-bg:radial-gradient(1200px 600px at 20% 40%,rgba(59,130,246,0.18),transparent 60%),radial-gradient(900px 500px at 80% 20%,rgba(59,130,246,0.10),transparent 55%),radial-gradient(700px 500px at 70% 85%,rgba(255,255,255,0.06),transparent 55%),linear-gradient(180deg,rgba(2,6,23,0.92),rgba(2,6,23,0.78));--portfolio-stars-opacity:0.8;--portfolio-pill-bg:rgba(59,130,246,0.14);--portfolio-pill-border:rgba(59,130,246,0.35);--portfolio-pill-text:rgba(255,255,255,0.9);--portfolio-text-muted:rgba(255,255,255,0.7);--portfolio-text-strong:rgba(255,255,255,0.95)}@media (max-width:767px){:root{--portfolio-hero-bg:radial-gradient(600px 400px at 50% 30%,rgba(59,130,246,0.2),transparent 60%),radial-gradient(400px 300px at 50% 70%,rgba(59,130,246,0.08),transparent 55%),linear-gradient(180deg,rgba(2,6,23,0.95),rgba(2,6,23,0.85))}}html[data-theme=light]{--portfolio-border:rgba(15,23,42,0.12);--portfolio-border-strong:rgba(15,23,42,0.16);--portfolio-card-bg:rgba(255,255,255,0.72);--portfolio-card-bg-strong:rgba(255,255,255,0.88);--portfolio-hero-bg:radial-gradient(1100px 600px at 20% 35%,rgba(59,130,246,0.15),transparent 58%),radial-gradient(900px 500px at 80% 20%,rgba(59,130,246,0.08),transparent 55%),radial-gradient(700px 500px at 70% 85%,rgba(2,6,23,0.04),transparent 55%),linear-gradient(180deg,rgba(255,255,255,0.96),rgba(248,250,252,0.90));--portfolio-stars-opacity:0.25;--portfolio-pill-bg:rgba(59,130,246,0.12);--portfolio-pill-border:rgba(59,130,246,0.28);--portfolio-pill-text:rgb(30,64,175);--portfolio-text-muted:rgba(15,23,42,0.65);--portfolio-text-strong:rgba(15,23,42,0.92)}@media (max-width:767px){html[data-theme=light]{--portfolio-hero-bg:radial-gradient(500px 400px at 50% 30%,rgba(59,130,246,0.12),transparent 60%),radial-gradient(400px 300px at 50% 70%,rgba(59,130,246,0.06),transparent 55%),linear-gradient(180deg,rgba(255,255,255,0.98),rgba(248,250,252,0.95))}}@media (hover:hover) and (pointer:fine){html.custom-cursor-active,html.custom-cursor-active *{cursor:none!important}html.custom-cursor-active [contenteditable=true],html.custom-cursor-active input[type=email],html.custom-cursor-active input[type=password],html.custom-cursor-active input[type=search],html.custom-cursor-active input[type=text],html.custom-cursor-active textarea{cursor:text!important}[class*=Button],[role=button],a,button{transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background .2s ease,border-color .2s ease}[class*=Button]:hover,[role=button]:hover,button:hover{transform:translateY(-2px)}[class*=Button]:active,[role=button]:active,button:active{transform:translateY(0) scale(.98)}a:not([class*=Button]):hover{opacity:.85}.card,[class*=Card]{transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease}.card:hover,[class*=Card]:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(59,130,246,.12),0 4px 12px rgba(0,0,0,.08);border-color:rgba(59,130,246,.25)}[class*=IconButton]{transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s ease,box-shadow .2s ease}[class*=IconButton]:hover{transform:scale(1.1);background:rgba(59,130,246,.15);box-shadow:0 4px 16px rgba(59,130,246,.2)}[class*=IconButton]:active{transform:scale(.95)}[class*=Badge]:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.15)}.image-hover-zoom{overflow:hidden}.image-hover-zoom img{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.image-hover-zoom:hover img{transform:scale(1.05)}}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.shine-effect{position:relative;overflow:hidden}.shine-effect:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.shine-effect:hover:before{left:100%}.glow-on-hover{transition:box-shadow .3s ease}.glow-on-hover:hover{box-shadow:0 0 24px rgba(59,130,246,.35),0 0 48px rgba(59,130,246,.15)}}.interactive{cursor:pointer;transition:transform .2s ease,opacity .2s ease}@media (hover:hover) and (pointer:fine){.interactive:hover{transform:translateY(-2px)}.interactive:active{transform:translateY(0) scale(.98)}}@media (hover:none),(pointer:coarse){.card,.interactive,[class*=Button],[class*=Card],[class*=IconButton],[role=button],a,button{transition:none!important;transform:none!important}[role=button]:active,a:active,button:active{opacity:.7}}