:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.line{border-color:color-mix(in srgb,var(--color-muted) 20%,transparent)}
.nav-link{color:var(--color-muted);transition:color 180ms ease}
.nav-link:hover,.nav-link[aria-current="page"]{color:var(--color-primary)}
.hero-glow{background:radial-gradient(ellipse at 70% 40%,color-mix(in srgb,var(--color-primary) 22%,transparent),transparent 42%),linear-gradient(125deg,var(--color-surface) 8%,var(--color-bg) 60%)}
.shot{cursor:zoom-in;display:block;width:100%}
.shot img{transition:transform 500ms ease}
.shot:hover img{transform:scale(1.04)}
.field{width:100%;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-muted) 35%,transparent);background:var(--color-bg);padding:.8rem 1rem;color:var(--color-text)}
.field::placeholder{color:var(--color-muted)}
.prose a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--color-text)}
dialog::backdrop{background:rgb(0 0 0/.88)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.intro{animation:rise 700ms ease both}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{animation:none}.shot img{transition:none}}
