.portfolio-preview[data-astro-cid-lgkm4u2a]{width:100%;min-width:0}.preview-controls[data-astro-cid-lgkm4u2a]{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.25rem}button[data-astro-cid-lgkm4u2a]{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .85rem;border-radius:.5rem;font-size:.85rem;color:hsl(var(--foreground) / .8)}button[data-astro-cid-lgkm4u2a] svg[data-astro-cid-lgkm4u2a]{width:1rem;height:1rem}button[data-astro-cid-lgkm4u2a][aria-pressed=true]{background:hsl(var(--primary),.2);color:hsl(var(--foreground))}button[data-astro-cid-lgkm4u2a]:hover{background:hsl(var(--primary),.12)}button[data-astro-cid-lgkm4u2a]:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:3px}.preview-stage[data-astro-cid-lgkm4u2a]{position:relative;min-height:330px;display:flex;align-items:center;justify-content:center}.browser-window[data-astro-cid-lgkm4u2a]{width:100%;overflow:hidden;border:1px solid hsl(var(--primary),.5);border-radius:12px;background:#0a0a0a}.browser-toolbar[data-astro-cid-lgkm4u2a]{display:flex;align-items:center;gap:.75rem;height:34px;padding:0 .85rem;background:hsl(var(--background));color:hsl(var(--foreground) / .75);border-bottom:1px solid hsl(var(--primary),.25)}.browser-toolbar[data-astro-cid-lgkm4u2a]>svg[data-astro-cid-lgkm4u2a]{width:13px;height:13px;flex-shrink:0}.browser-address[data-astro-cid-lgkm4u2a]{flex:1;text-align:center;font-size:10px}.browser-dots[data-astro-cid-lgkm4u2a]{display:flex;gap:4px}.browser-dots[data-astro-cid-lgkm4u2a] i[data-astro-cid-lgkm4u2a]{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.65}.browser-screen[data-astro-cid-lgkm4u2a]{aspect-ratio:1.44;overflow:hidden}.browser-screen[data-astro-cid-lgkm4u2a] img[data-astro-cid-lgkm4u2a]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top}[data-astro-cid-lgkm4u2a][data-device=mobile] .browser-window[data-astro-cid-lgkm4u2a]{width:195px}[data-astro-cid-lgkm4u2a][data-device=mobile] .browser-screen[data-astro-cid-lgkm4u2a]{aspect-ratio:390 / 844}[data-astro-cid-lgkm4u2a][data-device=mobile] .browser-dots[data-astro-cid-lgkm4u2a]{display:none}.preview-bottom[data-astro-cid-lgkm4u2a]{margin-top:1rem;text-align:center}.preview-pages[data-astro-cid-lgkm4u2a]{display:flex;justify-content:center;gap:.5rem}.preview-bottom[data-astro-cid-lgkm4u2a] p[data-astro-cid-lgkm4u2a]{margin-top:.75rem;font-size:.75rem;color:hsl(var(--foreground) / .75)}.is-compact[data-astro-cid-lgkm4u2a] .preview-stage[data-astro-cid-lgkm4u2a]{min-height:0;padding:0 24px 12px 0}.is-compact[data-astro-cid-lgkm4u2a] .browser-window[data-astro-cid-lgkm4u2a]{transform:rotate(-3deg);transform-origin:center;transition:transform .35s cubic-bezier(.16,1,.3,1)}.is-compact[data-astro-cid-lgkm4u2a] .browser-screen[data-astro-cid-lgkm4u2a]{aspect-ratio:1.9}.is-compact[data-astro-cid-lgkm4u2a] .browser-toolbar[data-astro-cid-lgkm4u2a]{height:25px}.is-compact[data-astro-cid-lgkm4u2a] .browser-address[data-astro-cid-lgkm4u2a]{font-size:9px}.phone-window[data-astro-cid-lgkm4u2a]{position:absolute;width:24%;max-width:100px;right:0;bottom:0;border:3px solid #343438;border-radius:14px;overflow:hidden;background:#0a0a0a;transform:rotate(5deg);transition:transform .35s cubic-bezier(.16,1,.3,1)}.phone-window[data-astro-cid-lgkm4u2a] img[data-astro-cid-lgkm4u2a]{display:block;width:100%;height:auto}.portfolio-project-card:hover .browser-window[data-astro-cid-lgkm4u2a]{transform:rotate(0)}.portfolio-project-card:hover .phone-window[data-astro-cid-lgkm4u2a]{transform:rotate(0) translateY(-4px)}@media (min-width: 1024px){.preview-stage[data-astro-cid-lgkm4u2a]{min-height:460px}}@media (prefers-reduced-motion: reduce){.browser-window[data-astro-cid-lgkm4u2a],.phone-window[data-astro-cid-lgkm4u2a]{transition:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0}}@keyframes astroFadeOut{to{opacity:0}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
