.blob-container.svelte-itksr3{width:100%;max-width:400px;aspect-ratio:1;cursor:crosshair}.blob-svg.svelte-itksr3{width:100%;height:100%;overflow:visible}.blob-outer.svelte-itksr3{transform:scale(1.1);transform-origin:center}.blob-back.svelte-itksr3{transform:scale(1.15) rotate(10deg);transform-origin:center;transition:all .3s ease-out}.blob-middle.svelte-itksr3{transform:scale(1.05);transform-origin:center;transition:all .2s ease-out}.blob-main.svelte-itksr3{transition:all .1s ease-out}.blob-highlight.svelte-itksr3{transition:all .3s ease-out}@media(max-width:768px){.blob-container.svelte-itksr3{max-width:300px}}.project-card.svelte-oviq8z{border-top:1px solid var(--zinc-300, #d4d4d8);padding:2rem 0;cursor:pointer;outline:none}.project-card.svelte-oviq8z:last-child{border-bottom:1px solid var(--zinc-300, #d4d4d8)}.project-header.svelte-oviq8z{display:flex;justify-content:space-between;align-items:flex-start}.project-info.svelte-oviq8z{flex:1}.project-index.svelte-oviq8z{display:block;color:var(--zinc-400, #a1a1aa);font-size:.875rem;font-family:monospace;margin-bottom:.5rem}.project-title.svelte-oviq8z{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-.025em;transition:all .3s ease;color:var(--zinc-800, #27272a);text-decoration:none}.project-meta.svelte-oviq8z{text-align:right;flex-shrink:0}.project-year.svelte-oviq8z{color:var(--zinc-400, #a1a1aa);font-size:.875rem}.project-tags.svelte-oviq8z{display:flex;gap:.5rem;margin-top:.5rem;justify-content:flex-end;flex-wrap:wrap}.tag.svelte-oviq8z{font-size:.75rem;background:var(--zinc-100, #f4f4f5);padding:.25rem .5rem;border-radius:2px}.project-expand.svelte-oviq8z{transition:all .3s ease}.project-description.svelte-oviq8z{color:var(--zinc-600, #52525b);margin-top:1rem;max-width:40rem;line-height:1.6}.project-card.svelte-oviq8z:focus-visible{outline:2px solid var(--orange, #ff4d00);outline-offset:4px}@media(max-width:768px){.project-header.svelte-oviq8z{flex-direction:column;gap:1rem}.project-meta.svelte-oviq8z{text-align:left}.project-tags.svelte-oviq8z{justify-content:flex-start}}.crypto-dashboard.svelte-3ashef{background:var(--zinc-900, #18181b);padding:2rem;border-radius:2px;color:var(--white, #ffffff)}.header-left.svelte-3ashef{display:flex;align-items:center;gap:1rem}.live-indicator.svelte-3ashef{display:flex;align-items:center;gap:.5rem}.live-dot.svelte-3ashef{width:8px;height:8px;background:var(--orange, #ff4d00);border-radius:50%;animation:svelte-3ashef-pulse 2s infinite}.live-dot.paused.svelte-3ashef{background:var(--zinc-500, #71717a);animation:none}@keyframes svelte-3ashef-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.live-text.svelte-3ashef{color:var(--orange, #ff4d00);font-size:.875rem;font-family:monospace;letter-spacing:.05em;font-weight:600}.live-dot.paused.svelte-3ashef+.live-text:where(.svelte-3ashef){color:var(--zinc-500, #71717a)}.update-time.svelte-3ashef{color:var(--zinc-400, #a1a1aa);font-size:.875rem;font-family:monospace}.sort-controls.svelte-3ashef{display:flex;gap:.5rem;margin-bottom:1.5rem;justify-content:space-between;align-items:center}.sort-buttons.svelte-3ashef{display:flex;gap:.5rem;flex-wrap:wrap}.sort-btn.svelte-3ashef{background:transparent;border:1px solid var(--zinc-700, #3f3f46);color:var(--zinc-400, #a1a1aa);padding:.5rem 1rem;border-radius:2px;font-size:.875rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.25rem}.sort-btn.svelte-3ashef:hover{border-color:var(--zinc-500, #71717a);color:var(--white, #ffffff)}.sort-btn.active.svelte-3ashef{background:var(--orange, #ff4d00);border-color:var(--orange, #ff4d00);color:var(--white, #ffffff)}.sort-arrow.svelte-3ashef{font-size:1rem;margin-left:.25rem}.error-state.svelte-3ashef,.loading-state.svelte-3ashef{text-align:center;padding:3rem 1rem;color:var(--zinc-400, #a1a1aa)}.error-state.svelte-3ashef button:where(.svelte-3ashef){margin-top:1rem;background:var(--orange, #ff4d00);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:2px;cursor:pointer}.spinner.svelte-3ashef{width:40px;height:40px;border:3px solid var(--zinc-700, #3f3f46);border-top-color:var(--orange, #ff4d00);border-radius:50%;animation:svelte-3ashef-spin 1s linear infinite;margin:0 auto 1rem}@keyframes svelte-3ashef-spin{to{transform:rotate(360deg)}}.crypto-list.svelte-3ashef{display:flex;flex-direction:column;gap:1rem}.crypto-card.svelte-3ashef{background:var(--zinc-800, #27272a);padding:1.25rem;border-radius:2px;border:1px solid var(--zinc-700, #3f3f46);transition:all .3s;cursor:pointer}.crypto-card.svelte-3ashef:hover{border-color:var(--orange, #ff4d00)}.crypto-card.expanded.svelte-3ashef{border-color:var(--orange, #ff4d00);background:var(--zinc-800, #27272a)}.crypto-compact.svelte-3ashef{display:grid;grid-template-columns:1fr 120px auto 40px;gap:1.5rem;align-items:center}.crypto-info.svelte-3ashef{display:flex;align-items:center;gap:1rem}.crypto-icon.svelte-3ashef{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;background:var(--zinc-700, #3f3f46);border-radius:50%}.crypto-details.svelte-3ashef{display:flex;flex-direction:column;gap:.25rem}.crypto-name.svelte-3ashef{font-size:1.125rem;font-weight:600;margin:0;color:var(--white, #ffffff)}.crypto-symbol.svelte-3ashef{font-size:.875rem;color:var(--zinc-400, #a1a1aa);font-family:monospace}.crypto-chart.svelte-3ashef{height:40px}.sparkline.svelte-3ashef{width:100%;height:100%}.crypto-stats.svelte-3ashef{display:flex;flex-direction:column;gap:.25rem;text-align:right;min-width:140px}.price.svelte-3ashef{font-size:1.25rem;font-weight:700;color:var(--white, #ffffff)}.change.svelte-3ashef{font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.change.positive.svelte-3ashef{color:#14b8a6}.change.negative.svelte-3ashef{color:#ef4444}.arrow.svelte-3ashef{font-size:1.2rem}.market-cap.svelte-3ashef{font-size:.875rem;color:var(--zinc-400, #a1a1aa)}.label.svelte-3ashef{color:var(--zinc-500, #71717a)}.expand-btn.svelte-3ashef{width:32px;height:32px;border-radius:50%;background:var(--zinc-700, #3f3f46);border:none;color:var(--white, #ffffff);font-size:1.5rem;font-weight:300;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.expand-btn.svelte-3ashef:hover{background:var(--orange, #ff4d00)}.crypto-expanded.svelte-3ashef{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--zinc-700, #3f3f46)}.expanded-grid.svelte-3ashef{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card.svelte-3ashef{background:var(--zinc-700, #3f3f46);padding:1rem;border-radius:2px;display:flex;flex-direction:column;gap:.5rem}.stat-label.svelte-3ashef{font-size:.75rem;color:var(--zinc-400, #a1a1aa);text-transform:uppercase;letter-spacing:.05em}.stat-value.svelte-3ashef{font-size:1.125rem;font-weight:600;color:var(--white, #ffffff)}.stat-value.positive.svelte-3ashef{color:#14b8a6}.stat-value.negative.svelte-3ashef{color:#ef4444}.load-more-btn.svelte-3ashef{width:100%;margin-top:1rem;padding:1rem;background:var(--zinc-800, #27272a);border:1px solid var(--zinc-700, #3f3f46);color:var(--white, #ffffff);font-size:.875rem;font-weight:500;border-radius:2px;cursor:pointer;transition:all .2s}.load-more-btn.svelte-3ashef:hover:not(:disabled){background:var(--zinc-700, #3f3f46);border-color:var(--orange, #ff4d00)}.load-more-btn.svelte-3ashef:disabled{opacity:.5;cursor:not-allowed}.max-results.svelte-3ashef{text-align:center;color:var(--zinc-500, #71717a);font-size:.875rem;margin-top:1rem}.dashboard-footer.svelte-3ashef{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--zinc-800, #27272a);display:flex;justify-content:space-between;font-size:.75rem;color:var(--zinc-500, #71717a);font-family:monospace}@media(max-width:768px){.crypto-compact.svelte-3ashef{grid-template-columns:1fr;gap:1rem}.crypto-chart.svelte-3ashef{order:-1}.crypto-stats.svelte-3ashef{text-align:left;flex-direction:row;justify-content:space-between;align-items:center}.expand-btn.svelte-3ashef{position:absolute;top:1rem;right:1rem}.crypto-card.svelte-3ashef{position:relative}.sort-controls.svelte-3ashef{flex-direction:column;align-items:flex-start}.expanded-grid.svelte-3ashef{grid-template-columns:repeat(2,1fr)}.dashboard-footer.svelte-3ashef{flex-direction:column;gap:.5rem}}:root{--black: #000000;--white: #ffffff;--orange: #ff4d00;--orange-hover: #ff6a2c;--teal: #43cab9;--zinc-50: #fafafa;--zinc-100: #f4f4f5;--zinc-200: #e4e4e7;--zinc-300: #d4d4d8;--zinc-400: #a1a1aa;--zinc-600: #52525b;--zinc-700: #3f3f46;--zinc-800: #27272a;--zinc-900: #18181b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--white);color:var(--black);overflow-x:hidden}html{scroll-behavior:smooth}#highlight.svelte-1uha8ag{border-bottom:3px solid var(--teal);color:var(--zinc-50)}.portfolio.svelte-1uha8ag{min-height:100vh}.hero-cube.svelte-1uha8ag{position:absolute;bottom:15rem;right:15rem}.fade-in.svelte-1uha8ag{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.visible.svelte-1uha8ag .fade-in:where(.svelte-1uha8ag){opacity:1;transform:translateY(0)}.slide-up.svelte-1uha8ag{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.visible.svelte-1uha8ag .slide-up:where(.svelte-1uha8ag){opacity:1;transform:translateY(0)}.slide-in-left.svelte-1uha8ag{opacity:0;transform:translate(-40px);transition:opacity .8s ease,transform .8s ease}.visible.svelte-1uha8ag .slide-in-left:where(.svelte-1uha8ag){opacity:1;transform:translate(0)}.slide-in-right.svelte-1uha8ag{opacity:0;transform:translate(40px);transition:opacity .8s ease,transform .8s ease}.visible.svelte-1uha8ag .slide-in-right:where(.svelte-1uha8ag){opacity:1;transform:translate(0)}.project-wrapper.svelte-1uha8ag{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.visible.svelte-1uha8ag .project-wrapper:where(.svelte-1uha8ag){opacity:1;transform:translateY(0)}.parallax.svelte-1uha8ag{will-change:transform}.nav.svelte-1uha8ag{position:fixed;top:0;left:0;width:100%;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;mix-blend-mode:difference}.nav-logo.svelte-1uha8ag{color:var(--white);font-size:1.25rem;font-weight:700;letter-spacing:-.025em;z-index:60}.nav-links.svelte-1uha8ag{display:flex;gap:2rem}.nav-link.svelte-1uha8ag{background:none;border:none;text-decoration:none;color:var(--white);font-size:.875rem;cursor:pointer;transition:opacity .3s}.nav-link.svelte-1uha8ag:hover{opacity:.5}.mobile-menu-btn.svelte-1uha8ag{display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:60;position:relative}.hamburger.svelte-1uha8ag{display:block;width:24px;height:2px;background:var(--white);position:relative;transition:background .3s}.hamburger.svelte-1uha8ag:before,.hamburger.svelte-1uha8ag:after{content:"";display:block;width:24px;height:2px;background:var(--white);position:absolute;transition:transform .3s,top .3s}.hamburger.svelte-1uha8ag:before{top:-8px}.hamburger.svelte-1uha8ag:after{top:8px}.hamburger.open.svelte-1uha8ag{background:transparent}.hamburger.open.svelte-1uha8ag:before{top:0;transform:rotate(45deg)}.hamburger.open.svelte-1uha8ag:after{top:0;transform:rotate(-45deg)}.mobile-menu.svelte-1uha8ag{position:fixed;top:0;right:0;width:100%;height:100vh;background:var(--black);z-index:55;display:flex;align-items:center;justify-content:center;transform:translate(100%);transition:transform .4s ease}.mobile-menu.open.svelte-1uha8ag{transform:translate(0)}.mobile-menu-links.svelte-1uha8ag{display:flex;flex-direction:column;gap:2rem;text-align:center}.mobile-menu-link.svelte-1uha8ag{color:var(--white);font-size:2rem;font-weight:600;text-decoration:none;transition:color .3s}.mobile-menu-link.svelte-1uha8ag:hover{color:var(--orange)}.scroll-indicator.svelte-1uha8ag{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:.5rem}.scroll-dot.svelte-1uha8ag{width:4px;height:16px;border-radius:9999px;background:var(--zinc-200);transition:all .3s}.scroll-dot.active.svelte-1uha8ag{height:32px;background:var(--orange)}.hero.svelte-1uha8ag{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem 2rem}.hero-content.svelte-1uha8ag{max-width:80rem;margin:0 auto;width:100%;display:flex;justify-content:space-between;align-items:center;gap:3rem}.hero-subtitle.svelte-1uha8ag{color:var(--zinc-400);font-size:.875rem;font-family:monospace;letter-spacing:.2em;margin-bottom:1rem}.hero-title.svelte-1uha8ag{font-size:clamp(4rem,12vw,10rem);font-weight:700;letter-spacing:-.05em;line-height:.9}.text-muted.svelte-1uha8ag{color:var(--zinc-300)}.hero-description.svelte-1uha8ag{font-size:1.5rem;color:var(--zinc-600);margin-top:2rem;max-width:28rem;line-height:1.6}.scroll-hint.svelte-1uha8ag{display:flex;align-items:center;gap:1rem;color:var(--zinc-400);margin-top:auto;padding-top:4rem}.scroll-line.svelte-1uha8ag{width:3rem;height:1px;background:var(--zinc-300)}.scroll-hint.svelte-1uha8ag span:where(.svelte-1uha8ag){font-size:.875rem}.section-container.svelte-1uha8ag{max-width:80rem;margin:0 auto}.section-header.svelte-1uha8ag{display:flex;align-items:baseline;gap:1rem;margin-bottom:4rem}.section-title.svelte-1uha8ag{font-size:clamp(3rem,8vw,5rem);font-weight:700;letter-spacing:-.025em}.section-count.svelte-1uha8ag{color:var(--zinc-400);font-size:.875rem;font-family:monospace}.work.svelte-1uha8ag{padding:8rem 4rem}.about.svelte-1uha8ag{padding:8rem 4rem;background:var(--zinc-50)}.about-grid.svelte-1uha8ag{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.about-description.svelte-1uha8ag{font-size:1.25rem;color:var(--zinc-600);line-height:1.7;margin-bottom:1.5rem}.skills.svelte-1uha8ag{display:flex;flex-direction:column;gap:2rem}.skill-group.svelte-1uha8ag{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.visible.svelte-1uha8ag .skill-group:where(.svelte-1uha8ag){opacity:1;transform:translateY(0)}.skill-category.svelte-1uha8ag{font-size:.75rem;font-family:monospace;color:var(--zinc-400);letter-spacing:.2em;margin-bottom:.75rem}.skill-items.svelte-1uha8ag{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag.svelte-1uha8ag{padding:.5rem 1rem;border:1px solid var(--zinc-300);border-radius:2px;font-size:.875rem;transition:all .3s;cursor:default}.skill-tag.svelte-1uha8ag:hover{background:var(--orange);color:var(--white);border-color:var(--orange);transform:translateY(-2px)}.interactive.svelte-1uha8ag{padding:8rem 4rem;background:var(--black)}.text-white.svelte-1uha8ag{color:var(--white)}.interactive-header.svelte-1uha8ag{margin-bottom:3rem}.interactive-description.svelte-1uha8ag{color:var(--zinc-400);font-size:1.25rem;max-width:40rem;margin-top:1rem;line-height:1.8rem}.contact.svelte-1uha8ag{padding:8rem 4rem}.contact-title.svelte-1uha8ag{font-size:clamp(4rem,10vw,8rem);font-weight:700;letter-spacing:-.04em;margin-bottom:3rem}.contact-links.svelte-1uha8ag{display:flex;flex-direction:column;gap:1.5rem}.contact-link.svelte-1uha8ag{display:flex;align-items:center;gap:1rem;font-size:1.25rem;color:var(--black);text-decoration:none}.contact-line.svelte-1uha8ag{width:3rem;height:1px;background:var(--black);transition:all .3s}.contact-link.svelte-1uha8ag:hover .contact-line:where(.svelte-1uha8ag){width:5rem;background:var(--orange)}.contact-text.svelte-1uha8ag{transition:transform .3s}.contact-link.svelte-1uha8ag:hover .contact-text:where(.svelte-1uha8ag){transform:translate(.5rem);color:var(--orange)}.footer.svelte-1uha8ag{padding:2rem 4rem;border-top:1px solid var(--zinc-200);display:flex;justify-content:space-between;align-items:center;color:var(--zinc-400);font-size:.875rem}.footer-tech.svelte-1uha8ag{font-family:monospace}@media(max-width:1300px){.hero-cube.svelte-1uha8ag{position:absolute;bottom:5rem;right:5rem}}@media(max-width:768px){.desktop-only.svelte-1uha8ag{display:none}.mobile-menu-btn.svelte-1uha8ag{display:block}.scroll-indicator.svelte-1uha8ag{display:none}.hero-content.svelte-1uha8ag{flex-direction:column;text-align:center}.hero-cube.svelte-1uha8ag{position:relative;bottom:auto;right:auto;margin-top:2rem}.about-grid.svelte-1uha8ag{grid-template-columns:1fr}.contact-links.svelte-1uha8ag{flex-direction:column}.nav.svelte-1uha8ag{mix-blend-mode:normal;background:#000000e6}.nav-logo.svelte-1uha8ag{color:var(--white)}.footer.svelte-1uha8ag{padding:2rem 1rem;font-size:1rem}.hero.svelte-1uha8ag{padding:6rem 2rem}}@media(max-width:480px){.footer.svelte-1uha8ag{font-size:.85rem}.contact.svelte-1uha8ag{padding:4rem 2rem}.interactive.svelte-1uha8ag{padding:4rem 0rem}.interactive-header.svelte-1uha8ag{padding:0rem 2rem}.work.svelte-1uha8ag{padding:4rem 2rem}.about.svelte-1uha8ag{padding:2rem}}
