.project-card.svelte-oviq8z{display:block;width:100%;text-align:left}.stack-pills.svelte-oviq8z{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.stack-pills.svelte-oviq8z span:where(.svelte-oviq8z){font:.6rem var(--font-mono, monospace);color:#ece7e066}.modal-dialog.svelte-1qli7hi{padding:0;border:none;background:transparent;max-width:800px;width:calc(100% - 2rem);max-height:90vh}.modal-dialog.svelte-1qli7hi::backdrop{background:#000000d9;backdrop-filter:blur(8px)}.modal.svelte-1qli7hi{position:relative;width:100%;max-height:90vh;overflow-y:auto;background:#0b0d10;border:1px solid rgba(236,231,224,.14);box-shadow:0 30px 100px #000000b3}.modal-header.svelte-1qli7hi{padding:1.5rem 2rem 1rem;border-bottom:1px solid rgba(236,231,224,.08)}.modal-header.svelte-1qli7hi h2:where(.svelte-1qli7hi){font-family:var(--font-serif, Georgia, serif);font-size:2.2rem;margin:0 0 .4rem;color:var(--ink, #ece7e0)}.modal-tagline.svelte-1qli7hi{margin:0;font-size:.85rem;color:#77736e}.modal-close.svelte-1qli7hi{position:absolute;top:1rem;right:1rem;background:#0009;border:none;color:var(--ink, #ece7e0);font:.65rem var(--font-mono, monospace);padding:.4rem .75rem;cursor:pointer;z-index:10}.modal-close.svelte-1qli7hi:hover{background:var(--accent, #a51d37)}.main-image.svelte-1qli7hi{position:relative;background:#0006;touch-action:pan-x}.main-image.svelte-1qli7hi img:where(.svelte-1qli7hi){width:100%;max-height:50vh;object-fit:contain;display:block}.swipe-hint.svelte-1qli7hi{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);font:.6rem var(--font-mono, monospace);color:#ece7e04d;letter-spacing:.1em;pointer-events:none}.nav-btn.svelte-1qli7hi{position:absolute;top:50%;transform:translateY(-50%);background:#0009;border:none;color:var(--ink, #ece7e0);font-size:1.8rem;width:2.5rem;height:2.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.nav-btn.svelte-1qli7hi:hover{background:var(--accent, #a51d37)}.prev.svelte-1qli7hi{left:.5rem}.next.svelte-1qli7hi{right:.5rem}.dots.svelte-1qli7hi{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);display:flex;gap:.4rem}.dots.svelte-1qli7hi button:where(.svelte-1qli7hi){width:8px;height:8px;border-radius:50%;border:none;background:#ece7e04d;cursor:pointer;padding:0}.dots.svelte-1qli7hi button.active:where(.svelte-1qli7hi){background:var(--accent, #a51d37)}.thumbnails.svelte-1qli7hi{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem 1rem;background:#0000004d}.thumbnails.svelte-1qli7hi button:where(.svelte-1qli7hi){flex-shrink:0;border:2px solid transparent;background:none;cursor:pointer;padding:0;border-radius:2px;overflow:hidden;transition:border-color .2s}.thumbnails.svelte-1qli7hi button.active:where(.svelte-1qli7hi){border-color:var(--accent, #a51d37)}.thumbnails.svelte-1qli7hi button:where(.svelte-1qli7hi) img:where(.svelte-1qli7hi){width:80px;height:52px;object-fit:cover;display:block}.no-images.svelte-1qli7hi{padding:3rem;text-align:center;color:#ece7e066;font-style:italic;font-size:.9rem}.modal-body.svelte-1qli7hi{padding:1.5rem 2rem 2rem;border-top:1px solid rgba(236,231,224,.08)}.modal-body.svelte-1qli7hi p:where(.svelte-1qli7hi){font-size:.875rem;color:#ece7e0b3;line-height:1.7;margin:0 0 .75rem}.modal-actions.svelte-1qli7hi{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.button.svelte-1qli7hi{display:inline-block;padding:.65rem 1.25rem;font:600 .75rem var(--font-mono, monospace);text-transform:uppercase;letter-spacing:.05em;transition:.2s;text-decoration:none}.button.primary.svelte-1qli7hi{background:var(--accent, #a51d37);border:1px solid var(--accent, #a51d37);color:#fff}.button.primary.svelte-1qli7hi:hover{opacity:.9}.button.ghost.svelte-1qli7hi{border:1px solid rgba(236,231,224,.25);color:#ece7e0cc}.button.ghost.svelte-1qli7hi:hover{border-color:var(--accent, #a51d37)}
