.projects.svelte-ywk8bh{--blue:#6295cb;flex-direction:column;gap:clamp(2rem,5vw,3.5rem);display:flex}.project.svelte-ywk8bh{transition:box-shadow .5s var(--ease);border:none;border-radius:16px;flex-direction:column;gap:1.75rem;padding:clamp(1.25rem,3vw,2.25rem);display:flex;position:relative}.project.svelte-ywk8bh:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#6295cb,#00427e,#005697);padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.project.svelte-ywk8bh:hover{box-shadow:0 0 40px -12px color-mix(in srgb, var(--blue) 55%, transparent)}.project.split.svelte-ywk8bh{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);display:grid}.info.svelte-ywk8bh{flex-direction:column;gap:1rem;max-width:62ch;display:flex}header.svelte-ywk8bh{align-items:baseline;gap:.9rem;display:flex}.num.svelte-ywk8bh{font-family:var(--font-mono);letter-spacing:.15em;color:var(--blue);font-size:.85rem}h2.svelte-ywk8bh{letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg, var(--blue) 0%, #005697 60%, #00427e 110%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1}.tags.svelte-ywk8bh{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tags.svelte-ywk8bh li:where(.svelte-ywk8bh){border:1px solid color-mix(in srgb, var(--blue) 45%, transparent);font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-dim);border-radius:999px;padding:.25rem .65rem;font-size:.75rem}p.svelte-ywk8bh{color:var(--ink-dim);margin:0;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7}.repo.svelte-ywk8bh{border:1px solid color-mix(in srgb, var(--blue) 60%, transparent);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);transition:background .3s var(--ease), border-color .3s var(--ease);border-radius:10px;align-self:flex-start;align-items:center;gap:.5rem;margin-top:.25rem;padding:.6rem 1.1rem;font-size:.8rem;text-decoration:none;display:inline-flex}.repo.svelte-ywk8bh span:where(.svelte-ywk8bh){transition:transform .3s var(--ease)}.repo.svelte-ywk8bh:hover,.repo.svelte-ywk8bh:focus-visible{background:color-mix(in srgb, var(--blue) 18%, transparent);border-color:var(--blue)}.repo.svelte-ywk8bh:hover span:where(.svelte-ywk8bh){transform:translate(2px,-2px)}.shots.svelte-ywk8bh{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;display:grid}.shot.svelte-ywk8bh{box-sizing:border-box;aspect-ratio:3/2;cursor:zoom-in;transition:transform .4s var(--ease), border-color .4s var(--ease);background:#00000059;border:1px solid #ffffff14;border-radius:12px;padding:.75rem;display:block;overflow:hidden}.split.svelte-ywk8bh .shot:where(.svelte-ywk8bh){aspect-ratio:1}.shot.svelte-ywk8bh img:where(.svelte-ywk8bh){object-fit:contain;width:100%;height:100%;transition:transform .6s var(--ease);display:block}.shot.svelte-ywk8bh:hover,.shot.svelte-ywk8bh:focus-visible{border-color:color-mix(in srgb, var(--blue) 60%, transparent);transform:translateY(-3px)}.shot.svelte-ywk8bh:hover img:where(.svelte-ywk8bh){transform:scale(1.03)}.lightbox.svelte-ywk8bh{--blue:#6295cb;background:0 0;border:none;border-radius:14px;max-width:min(92vw,1200px);max-height:90vh;padding:0;overflow:visible}.lightbox.svelte-ywk8bh::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050509d9}.lightbox.svelte-ywk8bh img:where(.svelte-ywk8bh){border-radius:14px;max-width:100%;max-height:90vh;display:block}.close.svelte-ywk8bh{border:1px solid var(--blue);width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;background:#050509;border-radius:50%;font-size:.9rem;position:absolute;top:.6rem;right:.6rem}@media (width<=760px){.project.split.svelte-ywk8bh{grid-template-columns:1fr}}
