@property --glow-turn{syntax: "<angle>"; inherits: true; initial-value: 0deg;}@keyframes svelte-kafarn-glow-turn{to{--glow-turn: 360deg}}.dock.svelte-kafarn{--dock: rgb(42 42 42 / .62);--ink: #f4f4f4;--muted: #b8b8b8;--hot: rgb(0 0 0 / .28);--dock-ease: var(--ease-enter, cubic-bezier(.81, .03, .06, 1));position:relative;display:flex;flex-direction:column;--glow-turn: 0deg;--glow-ring: conic-gradient( from var(--glow-turn), transparent 0deg 214deg, rgb(124 92 255 / .15) 250deg, #b794f6 286deg, #f0abfc 308deg, #fb923c 334deg, #ffe7c2 350deg, transparent 360deg );width:min(20.5rem,92%);transform:scale(1.18);transform-origin:center;border-radius:.85rem;color:var(--ink);animation:svelte-kafarn-glow-turn 2.8s linear infinite;transition:width .34s var(--dock-ease),border-radius .34s var(--dock-ease)}.shell.svelte-kafarn{position:relative;z-index:1;padding:.55rem 1rem;border-radius:inherit;background:var(--dock);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 18px 40px #00000038,0 1px #ffffff1a inset,inset 0 0 14px #00000029;border:1px solid rgb(255 255 255 / .1);overflow:hidden;transition:padding .34s var(--dock-ease)}.glow.svelte-kafarn,.stroke.svelte-kafarn{position:absolute;border-radius:inherit;pointer-events:none;transition:opacity .28s ease}.glow.svelte-kafarn{top:-22px;right:-22px;bottom:-22px;left:-22px;z-index:0;filter:blur(12px)}.glow-ring.svelte-kafarn,.stroke.svelte-kafarn{background:var(--glow-ring);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.glow-ring.svelte-kafarn{position:absolute;top:21px;right:21px;bottom:21px;left:21px;border-radius:inherit;padding:2px}.stroke.svelte-kafarn{top:0;right:0;bottom:0;left:0;z-index:2;padding:1.5px}.dock.is-open.svelte-kafarn{width:min(26.5rem,94%);border-radius:1rem;animation:none}.dock.is-open.svelte-kafarn .shell:where(.svelte-kafarn){padding:.7rem 1rem}.dock.is-open.svelte-kafarn .glow:where(.svelte-kafarn),.dock.is-open.svelte-kafarn .stroke:where(.svelte-kafarn),.dock.is-reduced.svelte-kafarn .glow:where(.svelte-kafarn),.dock.is-reduced.svelte-kafarn .stroke:where(.svelte-kafarn){opacity:0}.head.svelte-kafarn{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.1rem}.brand.svelte-kafarn{display:flex;align-items:center;gap:.55rem;min-width:0}.logo.svelte-kafarn{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:.4rem;background:#fff;color:#111;flex:none}.logo.svelte-kafarn svg:where(.svelte-kafarn){width:1.05rem;height:1.05rem}.name.svelte-kafarn{font-size:1.1rem;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.toggle.svelte-kafarn{display:grid;place-items:center;width:2.15rem;height:2.15rem;border:0;border-radius:.45rem;background:transparent;color:var(--muted);cursor:pointer;flex:none;transition:background .18s ease,color .18s ease}.toggle.svelte-kafarn:hover{background:#ffffff14;color:#fff}.toggle.svelte-kafarn svg:where(.svelte-kafarn){width:1.25rem;height:1.25rem}.panel.svelte-kafarn{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .34s var(--dock-ease),opacity .2s ease;pointer-events:none}.dock.is-open.svelte-kafarn .panel:where(.svelte-kafarn){grid-template-rows:1fr;opacity:1;pointer-events:auto;margin-top:.55rem;transition:grid-template-rows .34s var(--dock-ease),opacity .24s 40ms ease}.panel-inner.svelte-kafarn{overflow:hidden;min-height:0}.cols.svelte-kafarn{display:grid;grid-template-columns:1fr 1fr;gap:.15rem 1rem}.col.svelte-kafarn{display:flex;flex-direction:column;gap:.12rem}.item.svelte-kafarn{display:flex;align-items:center;gap:.55rem;width:100%;padding:.48rem .55rem;border:0;border-radius:.65rem;background:transparent;color:var(--muted);font:inherit;font-size:.96rem;font-weight:500;letter-spacing:-.01em;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease}.item.is-hot.svelte-kafarn{background:var(--hot);color:#fff}.ico.svelte-kafarn{display:grid;place-items:center;width:1.22rem;height:1.22rem;flex:none;opacity:.9}.ico.svelte-kafarn svg{width:100%;height:100%}.resources.svelte-kafarn{justify-content:flex-start}.chev.svelte-kafarn{width:.85rem;height:.85rem;margin-left:auto;opacity:.7;transition:transform .2s var(--ease, cubic-bezier(.33, 1, .68, 1))}.chev.up.svelte-kafarn{transform:rotate(180deg)}.subs.svelte-kafarn{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s var(--dock-ease),opacity .18s ease}.subs.show.svelte-kafarn{grid-template-rows:1fr;opacity:1;margin-top:.35rem;transition:grid-template-rows .28s var(--dock-ease),opacity .2s 30ms ease}.subs-inner.svelte-kafarn{overflow:hidden;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:.1rem 1rem}.sub.svelte-kafarn{font-size:.9rem}.corner.svelte-kafarn svg{width:1.05rem;height:1.05rem}.dock.is-reduced.svelte-kafarn,.dock.is-reduced.svelte-kafarn .panel:where(.svelte-kafarn),.dock.is-reduced.svelte-kafarn .subs:where(.svelte-kafarn),.dock.is-reduced.svelte-kafarn .chev:where(.svelte-kafarn){transition:none}.dock.is-reduced.svelte-kafarn{animation:none}@media(max-width:420px){.dock.is-open.svelte-kafarn{width:min(22rem,96%)}.item.svelte-kafarn{font-size:.88rem;padding:.42rem .45rem}}.dither.svelte-1474y2q{width:min(94%,36rem);margin:auto;padding:0;box-sizing:border-box}.card.svelte-1474y2q{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;width:100%;aspect-ratio:3 / 2;height:auto;padding:clamp(1.55rem,4.2vw,2.25rem);border:0;border-radius:clamp(1.75rem,4vw,2.75rem);background:#000;color:#fff;text-align:left;overflow:hidden;cursor:pointer;isolation:isolate;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.layer.svelte-1474y2q{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.photo.svelte-1474y2q{position:absolute;top:50%;left:50%;z-index:0;width:130%;height:130%;object-fit:cover;pointer-events:none;transform-origin:center;transform:translate3d(calc(-50% + var(--pan-x, 0%)),calc(-50% + var(--pan-y, 0%)),var(--pivot-z, 0px)) perspective(720px) rotateX(var(--pivot-x, 0deg)) rotateY(var(--pivot-y, 0deg)) scale(1.06);will-change:transform,opacity}.shimmer.svelte-1474y2q{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none;opacity:calc(1 - var(--ink, 0));transition:opacity .35s ease;background:#ffffff0d;animation:svelte-1474y2q-dither-shimmer 1.8s ease-in-out infinite}@keyframes svelte-1474y2q-dither-shimmer{0%,to{background:#ffffff08}50%{background:#ffffff1f}}@media(prefers-reduced-motion:reduce){.shimmer.svelte-1474y2q{animation:none;opacity:0}.photo.svelte-1474y2q{transform:translate3d(-50%,-50%,0);width:100%;height:100%}}.badge.svelte-1474y2q,.copy.svelte-1474y2q{position:relative;z-index:1}.badge.svelte-1474y2q{display:grid;place-items:center;width:clamp(2.1rem,4.8vw,2.7rem);height:clamp(2.1rem,4.8vw,2.7rem);border-radius:999px;background:rgb(255 255 255 / var(--badge-a, 1));color:#000;font-size:clamp(.8rem,2vw,1rem);font-weight:700;letter-spacing:.04em;line-height:1}.copy.svelte-1474y2q{display:flex;flex-direction:column;gap:.45em;max-width:min(26rem,90%)}.title.svelte-1474y2q{font-size:clamp(1.4rem,3.8vw,2.05rem);font-weight:700;letter-spacing:-.03em;line-height:1.12}.body.svelte-1474y2q{font-size:clamp(.95rem,2.3vw,1.2rem);font-weight:500;line-height:1.4;opacity:var(--body-a, .58)}@media(max-width:420px){.dither.svelte-1474y2q{width:min(96%,22rem)}.copy.svelte-1474y2q{max-width:100%}}.weather.svelte-1bz4xk8{display:flex;flex-direction:column;width:300px;max-width:100%;height:220px;padding:1rem 1.1rem;border:1px solid rgb(0 0 0 / .08);border-radius:1rem;background:#fff;color:#1f2937;box-shadow:0 18px 40px #0000002e;text-align:left;overflow:hidden;cursor:pointer;transition:width .32s cubic-bezier(.34,1.3,.64,1),height .32s cubic-bezier(.34,1.3,.64,1)}.weather.is-tall.svelte-1bz4xk8{width:min(500px,100%);height:420px}.weather.is-reduced.svelte-1bz4xk8{transition:none}.weather-head.svelte-1bz4xk8{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.head-copy.svelte-1bz4xk8 h3:where(.svelte-1bz4xk8){margin:0;font-size:1.05rem;font-weight:500;line-height:1.2}.badge.svelte-1bz4xk8{display:inline-block;margin-top:.2rem;padding:.15rem .5rem;border-radius:999px;background:#dbeafe;color:#1e40af;font-size:.75rem;font-weight:600}.weather-body.svelte-1bz4xk8{margin-top:.85rem}.summary.svelte-1bz4xk8{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.temp.svelte-1bz4xk8{margin:0;font-size:1.6rem;font-weight:700;line-height:1.1}.condition.svelte-1bz4xk8{margin:0;font-weight:500}.summary-right.svelte-1bz4xk8{text-align:right}.muted.svelte-1bz4xk8{margin:.15rem 0 0;font-size:.85rem;color:#6b7280}.details.svelte-1bz4xk8{display:flex;flex-direction:column;gap:.45rem}.stat.svelte-1bz4xk8,.day.svelte-1bz4xk8{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.9rem}.stat-label.svelte-1bz4xk8,.day-temp.svelte-1bz4xk8{display:inline-flex;align-items:center;gap:.4rem}.forecast.svelte-1bz4xk8{margin-top:.65rem}.forecast.svelte-1bz4xk8 h4:where(.svelte-1bz4xk8){margin:0 0 .4rem;font-size:.95rem;font-weight:500}.day.svelte-1bz4xk8+.day:where(.svelte-1bz4xk8){margin-top:.3rem}.weather-foot.svelte-1bz4xk8{margin-top:.85rem;font-size:.7rem;color:#9ca3af}.icon.svelte-1bz4xk8{width:1.15rem;height:1.15rem;flex-shrink:0;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none;color:#9ca3af}.icon.sun.svelte-1bz4xk8{width:2rem;height:2rem;color:#facc15;stroke:#facc15}.icon.sun.sm.svelte-1bz4xk8{width:1rem;height:1rem}.reveal.svelte-1bz4xk8{opacity:0;filter:blur(4px);transform:translateY(20px) rotate(-5deg);transition:opacity .32s cubic-bezier(.34,1.3,.64,1),filter .32s cubic-bezier(.34,1.3,.64,1),transform .32s cubic-bezier(.34,1.3,.64,1);transition-delay:0ms;pointer-events:none}.is-open.svelte-1bz4xk8 .reveal:where(.svelte-1bz4xk8){opacity:1;filter:blur(0);transform:none;transition-delay:calc(var(--i, 0) * .1s);pointer-events:auto}.is-reduced.svelte-1bz4xk8 .reveal:where(.svelte-1bz4xk8){filter:none;transform:none;transition:none}.is-reduced.is-open.svelte-1bz4xk8 .reveal:where(.svelte-1bz4xk8){opacity:1}.is-reduced.svelte-1bz4xk8:not(.is-open) .reveal:where(.svelte-1bz4xk8){opacity:0}.demo-window.svelte-1ok3mg6{touch-action:none}.demo-window.is-soft.svelte-1ok3mg6{touch-action:manipulation}.demo-stage.svelte-1ok3mg6{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;padding:1rem;background:radial-gradient(ellipse 80% 60% at 50% 40%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),var(--bg)}.demo-stage.is-dither.svelte-1ok3mg6{padding:0;background:#fff}.demo-stage.has-photo.svelte-1ok3mg6{background:var(--photo) center / cover no-repeat}.demo-stage.has-video.svelte-1ok3mg6{padding:0;background:#12080c}.demo-bg.svelte-1ok3mg6{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.demo-hint.svelte-1ok3mg6{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.45rem .85rem;border-radius:999px;border:1px solid rgb(255 255 255 / .12);background:#161616b8;color:#fff;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.card-title-pill.svelte-hf6iyq{display:flex;align-items:center;box-sizing:border-box;max-width:100%;height:40px;padding:0 16px;overflow:hidden;border:1px solid rgb(255 255 255 / .14);border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,rgb(22 22 22 / .94));color:#fff;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.12em;line-height:1;white-space:nowrap;text-transform:uppercase;text-overflow:ellipsis;transition:opacity .22s var(--ease),transform .42s var(--ease),background .28s var(--ease),border-color .28s var(--ease),color .28s var(--ease)}@media(hover:hover)and (pointer:fine){.card-title-pill.svelte-hf6iyq{opacity:0;transform:translate3d(0,6px,0)}.project-card-link:hover .card-title-pill.svelte-hf6iyq,.project-card-link:focus-visible .card-title-pill.svelte-hf6iyq{opacity:1;transform:none}}@media(prefers-contrast:more){.card-title-pill.svelte-hf6iyq{border-color:#ffffffd9;background:#161616}}@media(forced-colors:active){.card-title-pill.svelte-hf6iyq{background:Canvas;border:2px solid CanvasText;color:CanvasText}}
