.project-nav.svelte-mfnt8h{margin-top:var(--space-64);padding-top:var(--space-32);border-top:1px solid var(--border-neutral-primary);display:flex;justify-content:flex-end;gap:var(--space-12)}.prose.svelte-mfnt8h h2{font-family:var(--font-display);font-size:var(--size-2xl);font-weight:var(--weight-regular);color:var(--text-primary);line-height:var(--lh-snug);margin:var(--space-48) 0 var(--space-16);scroll-margin-top:calc(var(--nav-height) + var(--space-24))}.prose.svelte-mfnt8h h2:first-child{margin-top:0}.prose.svelte-mfnt8h h3{font-family:var(--font-display);font-size:var(--size-xl);font-weight:var(--weight-medium);color:var(--text-primary);line-height:var(--lh-snug);margin:var(--space-32) 0 var(--space-12);scroll-margin-top:calc(var(--nav-height) + var(--space-24))}.prose.svelte-mfnt8h p{font-size:var(--size-base);line-height:var(--lh-normal);color:var(--text-primary);margin-bottom:var(--space-20)}.prose.svelte-mfnt8h blockquote{border-left:2px solid var(--border-accent-subtle);padding:var(--space-12) var(--space-16);background:var(--bg-accent-subtle);border-radius:0 var(--radius-default) var(--radius-default) 0;font-style:italic;color:var(--text-accent);margin:var(--space-24) 0}.prose.svelte-mfnt8h blockquote p{color:var(--text-accent);margin:0}.prose.svelte-mfnt8h a{color:var(--text-accent);text-decoration:underline}.prose.svelte-mfnt8h ul,.prose.svelte-mfnt8h ol{margin:0 0 var(--space-20) var(--space-20);list-style:revert}.prose.svelte-mfnt8h li{margin-bottom:var(--space-8);line-height:var(--lh-normal)}.prose.svelte-mfnt8h .content-image{margin:var(--space-32) 0}.prose.svelte-mfnt8h .content-caption{margin-top:var(--space-8);font-size:var(--size-xs);color:var(--text-secondary);text-align:center}.prose.svelte-mfnt8h .zoom-image{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-loose);border:1px solid var(--border-neutral-primary);background:var(--bg-neutral-secondary);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;aspect-ratio:16 / 9}.prose.svelte-mfnt8h .zoom-image.grabbing{cursor:grabbing}.prose.svelte-mfnt8h .zoom-canvas{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;will-change:transform}.prose.svelte-mfnt8h .zoom-dots{position:absolute;top:-2000px;right:-2000px;bottom:-2000px;left:-2000px;background-image:radial-gradient(var(--bg-neutral-tertiary) 1.4px,transparent 1.4px);background-size:12.6px 12.6px}.prose.svelte-mfnt8h .zoom-canvas img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}.prose.svelte-mfnt8h .zoom-controls{position:absolute;bottom:var(--space-16);right:var(--space-16);display:flex;gap:var(--space-6);opacity:0;transform:translateY(4px);transition:opacity var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default);z-index:2}.prose.svelte-mfnt8h .zoom-image:hover .zoom-controls,.prose.svelte-mfnt8h .zoom-image:focus-within .zoom-controls{opacity:1;transform:translateY(0)}.prose.svelte-mfnt8h .zoom-controls button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--bg-neutral-primary);color:var(--text-primary);border:1px solid var(--border-neutral-primary);border-radius:var(--radius-default);cursor:pointer;box-shadow:0 2px 8px #1117101a;transition:background var(--duration-fast) var(--ease-default)}.prose.svelte-mfnt8h .zoom-controls button:hover:not(:disabled){background:var(--bg-neutral-secondary-hover)}.prose.svelte-mfnt8h .zoom-controls button:disabled{color:var(--text-disabled);cursor:default;opacity:.5}.prose.svelte-mfnt8h .zoom-controls button svg{width:17px;height:17px}.prose.svelte-mfnt8h .zoom-level{position:absolute;bottom:var(--space-16);left:var(--space-16);font-size:var(--size-xs);color:var(--text-secondary);background:var(--bg-neutral-primary);border:1px solid var(--border-neutral-primary);border-radius:var(--radius-default);padding:var(--space-4) var(--space-8);opacity:0;transition:opacity var(--duration-fast) var(--ease-default);z-index:2;font-variant-numeric:tabular-nums}.prose.svelte-mfnt8h .zoom-image:hover .zoom-level{opacity:1}.prose.svelte-mfnt8h pre.mermaid{display:flex;justify-content:center;margin:var(--space-32) 0;padding:0;background:none;border:none;font-size:0}.prose.svelte-mfnt8h pre.mermaid svg{max-width:100%;height:auto}
