#mesh-bg[data-v-186108b0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}canvas#mesh-canvas[data-v-186108b0]{pointer-events:auto}.portfolio-foreground[data-v-186108b0]{position:relative;z-index:1;max-width:800px;margin:0 auto;padding:2rem;font-family:Inter,Arial,sans-serif;color:#f3f3f3;background:#23272fcc;border-radius:18px;box-shadow:0 4px 32px #0000002e}.portfolio-header[data-v-186108b0]{text-align:center;margin-bottom:2rem}.portfolio-title[data-v-186108b0]{font-size:2.5rem;margin:.5rem 0 .2rem}.portfolio-tagline[data-v-186108b0]{font-size:1.2rem;color:#aaa;margin-bottom:1rem}.portfolio-nav[data-v-186108b0]{margin-bottom:2rem}.portfolio-nav a[data-v-186108b0]{margin:0 1rem;text-decoration:none;color:#42b883;font-weight:500;transition:color .2s}.portfolio-nav a[data-v-186108b0]:hover{color:#646cff}.portfolio-section[data-v-186108b0]{margin-bottom:2.5rem}.portfolio-section h2[data-v-186108b0]{color:#42b883;margin-bottom:.5rem}.portfolio-grid[data-v-186108b0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:2rem 1.5rem;margin:2rem 0 0;justify-items:center;align-items:end}.portfolio-grid-item[data-v-186108b0]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:#646cff1a;border-radius:12px;padding:1rem .5rem .5rem;min-width:120px;min-height:120px;width:120px;height:120px;box-shadow:0 2px 8px #0000000a;transition:box-shadow .2s,transform .2s}.portfolio-grid-item[data-v-186108b0]:hover{box-shadow:0 6px 24px #646cff2e;transform:translateY(-4px) scale(1.04)}.portfolio-grid-item img[data-v-186108b0]{width:56px;height:56px;margin-bottom:.7rem;object-fit:contain}.portfolio-grid-item span[data-v-186108b0]{font-size:1.08rem;color:#fff;margin-top:.2rem;font-weight:500;letter-spacing:.5px;text-align:center}.animations-list[data-v-186108b0]{list-style:disc inside;padding-left:1rem}.portfolio-back-link[data-v-186108b0]{margin-bottom:1.5rem;text-align:left}.portfolio-back-link a[data-v-186108b0]{color:#42b883;text-decoration:none;font-weight:500;font-size:1rem;transition:color .2s}.portfolio-back-link a[data-v-186108b0]:hover{color:#646cff}@media (max-width: 800px){.portfolio-foreground[data-v-186108b0]{padding:1rem}.portfolio-title[data-v-186108b0]{font-size:2rem}}.portfolio-section[data-v-2fb09a9a]{margin-bottom:2.5rem}.portfolio-section h2[data-v-2fb09a9a]{color:#42b883;margin-bottom:.5rem}.carousel-container[data-v-2fb09a9a]{position:relative;width:100%;margin:2rem 0}.carousel-wrapper[data-v-2fb09a9a]{overflow:hidden;border-radius:16px}.carousel-track[data-v-2fb09a9a]{display:flex;transition:transform .5s cubic-bezier(.25,.46,.45,.94);gap:1.5rem;padding:1rem}.carousel-card[data-v-2fb09a9a]{flex:0 0 calc(29% - 1rem);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000001a}.carousel-card[data-v-2fb09a9a]:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #42b88333;border-color:#42b8834d}.card-image[data-v-2fb09a9a]{width:100%;height:150px;border-radius:8px;overflow:hidden;margin-bottom:.75rem;background:#0003;display:flex;align-items:center;justify-content:center}.card-image img[data-v-2fb09a9a]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.carousel-card:hover .card-image img[data-v-2fb09a9a]{transform:scale(1.05)}.card-content h3[data-v-2fb09a9a]{color:#42b883;font-size:1.1rem;margin-bottom:.4rem;font-weight:600}.card-content p[data-v-2fb09a9a]{color:#fffc;font-size:.85rem;line-height:1.4}.carousel-controls[data-v-2fb09a9a]{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 -2rem;pointer-events:none}.carousel-btn[data-v-2fb09a9a]{background:#42b883e6;border:none;border-radius:50%;width:48px;height:48px;color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;pointer-events:all;box-shadow:0 4px 12px #0003;display:flex;align-items:center;justify-content:center}.carousel-btn[data-v-2fb09a9a]:hover:not(:disabled){background:#42b883;transform:scale(1.1)}.carousel-btn[data-v-2fb09a9a]:disabled{background:#fff3;cursor:not-allowed;opacity:.5}.carousel-btn-prev[data-v-2fb09a9a]{margin-left:-24px}.carousel-btn-next[data-v-2fb09a9a]{margin-right:-24px}.carousel-indicators[data-v-2fb09a9a]{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}.carousel-indicator[data-v-2fb09a9a]{width:12px;height:12px;border-radius:50%;border:none;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.carousel-indicator.active[data-v-2fb09a9a]{background:#42b883;transform:scale(1.2)}.carousel-indicator[data-v-2fb09a9a]:hover{background:#42b883b3}@media (max-width: 1024px){.carousel-card[data-v-2fb09a9a]{flex:0 0 calc(50% - .75rem)}}@media (max-width: 768px){.carousel-card[data-v-2fb09a9a]{flex:0 0 calc(100% - 1rem)}.carousel-track[data-v-2fb09a9a]{gap:1rem}.carousel-btn[data-v-2fb09a9a]{width:40px;height:40px;font-size:1.25rem}.carousel-btn-prev[data-v-2fb09a9a]{margin-left:-20px}.carousel-btn-next[data-v-2fb09a9a]{margin-right:-20px}.card-image[data-v-2fb09a9a]{height:120px}}.portfolio-grid[data-v-2fb09a9a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:2rem 1.5rem;margin:2rem 0 0;justify-items:center;align-items:end}.portfolio-grid-item[data-v-2fb09a9a]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:#646cff1a;border-radius:12px;padding:1rem .5rem .5rem;min-width:120px;min-height:120px;width:120px;height:120px;box-shadow:0 2px 8px #0000000a;transition:box-shadow .2s,transform .2s}.portfolio-grid-item[data-v-2fb09a9a]:hover{box-shadow:0 6px 24px #646cff2e;transform:translateY(-4px) scale(1.04)}.portfolio-grid-item img[data-v-2fb09a9a]{width:56px;height:56px;margin-bottom:.7rem;object-fit:contain}.portfolio-grid-item span[data-v-2fb09a9a]{font-size:1.08rem;color:#fff;margin-top:.2rem;font-weight:500;letter-spacing:.5px;text-align:center}.new-page[data-v-c85d0c7a]{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;max-width:900px;margin:0 auto}.new-page h1[data-v-c85d0c7a]{color:#42b883;margin-bottom:.5rem}.canvas-container[data-v-c85d0c7a]{display:flex;justify-content:center;align-items:center;margin-top:2rem}.graph-canvas[data-v-c85d0c7a]{background:#181c24!important;border-radius:12px;box-shadow:0 2px 12px #0000001f;outline:none;touch-action:none;border:none;width:800px;height:600px}.canvas-controls[data-v-c85d0c7a]{margin-bottom:.5rem}.canvas-controls label[data-v-c85d0c7a]{color:#bfc9d1;font-size:1rem;margin-right:.5rem}.canvas-controls select[data-v-c85d0c7a]{font-size:1rem;padding:.2rem .5rem;border-radius:6px;background:#222a36;color:#bfc9d1;border:1px solid #4fd1c5}.algo-table-container[data-v-c85d0c7a]{margin-top:1rem;width:100%;overflow-x:auto}.algo-table[data-v-c85d0c7a]{width:100%;border-collapse:collapse;margin-top:.5rem}.algo-table th[data-v-c85d0c7a],.algo-table td[data-v-c85d0c7a]{padding:.75rem;text-align:left;border-bottom:1px solid #444}.algo-table th[data-v-c85d0c7a]{background-color:#2c2f33;color:#42b883}.description[data-v-c85d0c7a]{color:#bfc9d1;font-size:1.1rem;margin-bottom:.5rem;margin-top:.5rem;text-align:left;max-width:700px}.description p[data-v-c85d0c7a]{margin:.5rem 0}.description ol[data-v-c85d0c7a]{text-align:left;margin:.5rem 0;padding-left:1.5rem;color:#bfc9d1;font-size:1rem;list-style:decimal inside}.portfolio-section[data-v-713bfafb]{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;max-width:900px;margin:0 auto}.canvas-container[data-v-713bfafb]{display:flex;justify-content:center;align-items:center;margin-top:2rem}.canvas-controls[data-v-713bfafb]{display:flex;justify-content:flex-end;margin-bottom:.5rem;width:100%}.graph-canvas[data-v-713bfafb]{background:#181c24!important;border-radius:12px;box-shadow:0 2px 12px #0000001f;outline:none;touch-action:none;border:none;width:800px;height:600px}.description[data-v-713bfafb]{color:#bfc9d1;font-size:1.1rem;margin-bottom:.5rem;margin-top:.5rem;text-align:left;max-width:700px}.instructions[data-v-713bfafb]{color:#bfc9d1;font-size:1rem;margin-bottom:1.2rem;margin-top:0;padding-left:1.2rem;list-style:disc inside}.controls-container[data-v-40c2dac9]{display:flex;flex-direction:column;gap:1rem;margin:2rem 0;padding:1.5rem;background:#1a1f27;border-radius:12px;box-shadow:0 2px 12px #0000001f}.slider-group[data-v-40c2dac9]{display:flex;flex-direction:column;gap:.5rem}.slider-group label[data-v-40c2dac9]{color:#4fd1c5;font-weight:500;font-size:.95rem}.slider[data-v-40c2dac9]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:#2d3748;border-radius:3px;outline:none;cursor:pointer}.slider[data-v-40c2dac9]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#4fd1c5;border-radius:50%;cursor:pointer;transition:background .2s ease}.slider[data-v-40c2dac9]::-webkit-slider-thumb:hover{background:#3bc5b6}.slider[data-v-40c2dac9]::-moz-range-thumb{width:18px;height:18px;background:#4fd1c5;border-radius:50%;cursor:pointer;border:none;transition:background .2s ease}.slider[data-v-40c2dac9]::-moz-range-thumb:hover{background:#3bc5b6}.canvas-container[data-v-40c2dac9]{display:flex;justify-content:center;align-items:center;margin-top:2rem}canvas[data-v-40c2dac9]{background:#181c24!important;border-radius:12px;box-shadow:0 2px 12px #0000001f;outline:none;touch-action:none}.description[data-v-40c2dac9]{color:#bfc9d1;font-size:1.1rem;margin-bottom:.5rem;margin-top:.5rem}.instructions[data-v-40c2dac9]{color:#bfc9d1;font-size:1rem;margin-bottom:1.2rem;margin-top:0;padding-left:1.2rem;list-style:disc inside}.animationsLink[data-v-40c2dac9]{color:#4fd1c5;text-decoration:none;font-weight:500}.animationsLink[data-v-40c2dac9]:hover{text-decoration:underline}.algorithm-description[data-v-40c2dac9]{color:#bfc9d1;font-size:1rem;margin-top:2rem;padding:0 1rem}.algorithm-description h3[data-v-40c2dac9]{color:#4fd1c5;font-size:1.5rem;margin-bottom:.5rem}.boids-formulas[data-v-40c2dac9]{background:#222;color:#bfc9d1;padding:1rem;border-radius:8px;overflow-x:auto}.portfolio-section[data-v-f0a823f9]{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;max-width:900px;margin:0 auto}.canvas-container[data-v-f0a823f9]{display:flex;justify-content:center;align-items:center;margin-top:2rem}.canvas-controls[data-v-f0a823f9]{display:flex;justify-content:flex-end;margin-bottom:.5rem;width:100%}.canvas-controls label[data-v-f0a823f9]{color:#bfc9d1;font-size:1rem;margin-right:1rem}.canvas-controls input[data-v-f0a823f9]{margin-left:.5rem;margin-right:.5rem}.graph-canvas[data-v-f0a823f9]{background:#181c24!important;border-radius:12px;box-shadow:0 2px 12px #0000001f;outline:none;touch-action:none;border:none;width:800px;height:600px}.description[data-v-f0a823f9]{color:#bfc9d1;font-size:1.1rem;margin-bottom:.5rem;margin-top:.5rem;text-align:left;max-width:700px}.instructions[data-v-f0a823f9]{color:#bfc9d1;font-size:1rem;margin-bottom:1.2rem;margin-top:0;padding-left:1.2rem;list-style:disc inside}.animationsLink[data-v-f0a823f9]{color:#4fd1c5;text-decoration:none;font-weight:500}.animationsLink[data-v-f0a823f9]:hover{text-decoration:underline}body{background:#23272f;margin:0;min-width:320px;min-height:100vh}#app{width:100vw;height:100vh;margin:0;padding:0;text-align:initial}.link{color:#23e112b6;text-decoration:none;cursor:pointer;transition:color .2s}.link:hover,.link:focus{color:#5cff4a;text-decoration:underline;outline:none}.animationsLink{color:#1e90ff;text-decoration:underline;cursor:pointer;transition:color .2s}.animationsLink:hover,.animationsLink:focus{color:#63b3ed;outline:none}
