1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,648563,e=>{"use strict";var t=e.i(271645);function r(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}let n=["x","y","top","bottom","left","right","width","height"];e.s(["default",0,function({debounce:e,scroll:o,polyfill:i,offsetSize:s}={debounce:0,scroll:!1,offsetSize:!1}){var l,a,u;let c=i||("u"<typeof window?class{}:window.ResizeObserver);if(!c)throw Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[d,f]=(0,t.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),m=(0,t.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:d,orientationHandler:null}),h=e?"number"==typeof e?e:e.scroll:null,p=e?"number"==typeof e?e:e.resize:null,g=(0,t.useRef)(!1);(0,t.useEffect)(()=>(g.current=!0,()=>void(g.current=!1)));let[v,b,w]=(0,t.useMemo)(()=>{let e=()=>{let e,t;if(!m.current.element)return;let{left:r,top:o,width:i,height:l,bottom:a,right:u,x:c,y:d}=m.current.element.getBoundingClientRect(),h={left:r,top:o,width:i,height:l,bottom:a,right:u,x:c,y:d};m.current.element instanceof HTMLElement&&s&&(h.height=m.current.element.offsetHeight,h.width=m.current.element.offsetWidth),Object.freeze(h),g.current&&(e=m.current.lastBounds,t=h,!n.every(r=>e[r]===t[r]))&&f(m.current.lastBounds=h)};return[e,p?r(e,p):e,h?r(e,h):e]},[f,s,h,p]);function x(){m.current.scrollContainers&&(m.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",w,!0)),m.current.scrollContainers=null),m.current.resizeObserver&&(m.current.resizeObserver.disconnect(),m.current.resizeObserver=null),m.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",m.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",m.current.orientationHandler))}function y(){m.current.element&&(m.current.resizeObserver=new c(w),m.current.resizeObserver.observe(m.current.element),o&&m.current.scrollContainers&&m.current.scrollContainers.forEach(e=>e.addEventListener("scroll",w,{capture:!0,passive:!0})),m.current.orientationHandler=()=>{w()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",m.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",m.current.orientationHandler))}return l=w,a=!!o,(0,t.useEffect)(()=>{if(a)return window.addEventListener("scroll",l,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",l,!0)},[l,a]),u=b,(0,t.useEffect)(()=>(window.addEventListener("resize",u),()=>void window.removeEventListener("resize",u)),[u]),(0,t.useEffect)(()=>{x(),y()},[o,w,b]),(0,t.useEffect)(()=>x,[]),[e=>{e&&e!==m.current.element&&(x(),m.current.element=e,m.current.scrollContainers=function e(t){let r=[];if(!t||t===document.body)return r;let{overflow:n,overflowX:o,overflowY:i}=window.getComputedStyle(t);return[n,o,i].some(e=>"auto"===e||"scroll"===e)&&r.push(t),[...r,...e(t.parentElement)]}(e),y())},d,v]}])},766354,e=>{"use strict";let t=(0,e.i(475254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],766354)},43247,e=>{"use strict";var t=e.i(843476),r=e.i(271645),n=e.i(846932),o=e.i(887652),i=e.i(591994),s=e.i(522016),l=e.i(766354),a=e.i(389758);function u({href:e,label:r}){return(0,t.jsx)(s.default,{href:e,className:"rounded-full border border-white/8 bg-white/3 px-4 py-2 text-xs font-medium uppercase tracking-[0.22em] text-muted-foreground transition-colors hover:border-primary/35 hover:text-foreground",children:r})}e.s(["LegalHeader",0,function(){let e=(0,r.useRef)(null),c=(0,o.useMotionValue)(0),d=(0,o.useMotionValue)(0),f=(0,i.useSpring)(c,{stiffness:160,damping:18,mass:.5}),m=(0,i.useSpring)(d,{stiffness:160,damping:18,mass:.5}),h=(0,o.useMotionValue)(0),p=(0,i.useSpring)(h,{stiffness:180,damping:24,mass:.6}),g=()=>{h.set(0),c.set(0),d.set(0)};return(0,t.jsx)("header",{className:"sticky top-0 z-50 border-b border-white/6 bg-background/80 backdrop-blur-xl",children:(0,t.jsxs)("div",{className:"mx-auto flex max-w-7xl items-center justify-between gap-4 px-6 py-4 sm:px-10",children:[(0,t.jsxs)(s.default,{ref:e,href:"/","aria-label":"Reinhard Kepplinger â Startseite",className:"group/logo relative inline-flex items-center gap-3 overflow-visible",onPointerMove:t=>{let r=e.current?.getBoundingClientRect();if(!r)return;
1let n=r.left+r.width/2,o=r.top+r.height/2;c.set((t.clientX-n)*.18),d.set((t.clientY-o)*.18)},onPointerLeave:g,onMouseEnter:()=>h.set(1),onMouseLeave:g,children:[(0,t.jsx)(n.motion.span,{"aria-hidden":!0,className:"pointer-events-none absolute inset-[-28%] rounded-full bg-[radial-gradient(circle,hsl(var(--logo)/55%)_0%,hsl(var(--logo)/0%)_70%)] blur-xl",style:{opacity:p}}),(0,t.jsx)(n.motion.div,{className:"relative flex items-center justify-center",style:{x:f,y:m},children:(0,t.jsx)(a.BrandLogo,{className:"h-8 w-auto text-logo transition-all duration-300 group-hover/logo:brightness-110 md:h-10"})}),(0,t.jsxs)("span",{className:"hidden sm:block",children:[(0,t.jsx)("span",{className:"block text-sm font-medium text-foreground",children:"Reinhard Kepplinger"}),(0,t.jsx)("span",{className:"block text-xs uppercase tracking-[0.24em] text-muted-foreground",children:"3D · Web · Apps"})]})]}),(0,t.jsxs)("nav",{className:"flex items-center gap-2 sm:gap-3",children:[(0,t.jsxs)(s.default,{href:"/",className:"inline-flex items-center gap-2 rounded-full border border-white/8 bg-white/3 px-4 py-2 text-xs font-medium uppercase tracking-[0.22em] text-foreground/80 transition-colors hover:border-primary/35 hover:text-primary",children:[(0,t.jsx)(l.ArrowLeft,{className:"h-3.5 w-3.5"}),"Startseite"]}),(0,t.jsx)(u,{href:"/impressum",label:"Impressum"}),(0,t.jsx)(u,{href:"/datenschutz",label:"Datenschutz"})]})]})})}])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.