nav.svelte-ucthip{z-index:var(--z-sticky);align-items:center;gap:var(--space-5);width:calc(100% - 28px);max-width:var(--container-lg);border-radius:var(--radius-pill);border:1px solid var(--border-glass);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px)saturate(1.2);transition:background var(--dur-base) var(--ease-out-quart), border-color var(--dur-base) var(--ease-out-quart), box-shadow var(--dur-base) var(--ease-out-quart);margin:0 auto;padding:10px 18px;display:flex;position:fixed;top:14px;left:0;right:0}nav.scrolled.svelte-ucthip{background:var(--bg-glass);border-color:var(--border-strong);box-shadow:var(--shadow-glass)}.logo.svelte-ucthip{color:var(--fg);align-items:center;padding:2px 6px;display:inline-flex}.logo-image.svelte-ucthip{width:34px;height:34px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--neon-cyan) 18%, transparent));display:block}.nav-content.svelte-ucthip{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}nav.svelte-ucthip ul:where(.svelte-ucthip){gap:4px;margin:0;padding:0;list-style:none;display:flex}nav.svelte-ucthip ul:where(.svelte-ucthip) a:where(.svelte-ucthip){font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);border-radius:var(--radius-pill);transition:color var(--dur-base) var(--ease-out-quart), background var(--dur-base) var(--ease-out-quart);padding:8px 12px;font-size:11px;position:relative}nav.svelte-ucthip ul:where(.svelte-ucthip) a:where(.svelte-ucthip):hover{color:var(--neon-cyan)}nav.svelte-ucthip ul:where(.svelte-ucthip) a.active:where(.svelte-ucthip){color:var(--neon-cyan);background:color-mix(in srgb, var(--neon-cyan) 8%, transparent)}.nav-actions.svelte-ucthip{align-items:center;gap:8px;display:flex}.theme-toggle.svelte-ucthip{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:32px;height:32px;color:var(--fg-muted);cursor:pointer;transition:color var(--dur-base) var(--ease-out-quart), border-color var(--dur-base) var(--ease-out-quart), background var(--dur-base) var(--ease-out-quart);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle.svelte-ucthip svg{width:14px;height:14px}.theme-toggle.svelte-ucthip:hover{color:var(--neon-yellow);border-color:var(--neon-yellow);background:color-mix(in srgb, var(--neon-yellow) 6%, transparent)}.lang-switch.svelte-ucthip{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:0 0;padding:2px;display:inline-flex}.lang-btn.svelte-ucthip{cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;color:var(--fg-subtle);border-radius:var(--radius-pill);transition:background var(--dur-fast) var(--ease-out-quart), color var(--dur-fast) var(--ease-out-quart);background:0 0;border:0;padding:4px 10px;font-size:10.5px;font-weight:500}.lang-btn.svelte-ucthip:hover{color:var(--fg)}.lang-btn.active.svelte-ucthip{background:var(--neon-cyan);color:var(--fg-inverse)}.lang-btn.svelte-ucthip:focus-visible{outline-color:var(--neon-cyan)}.nav-cv.svelte-ucthip{border:1px solid var(--border-strong);border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.08em;color:var(--fg);transition:border-color var(--dur-base) var(--ease-out-quart), color var(--dur-base) var(--ease-out-quart);align-items:center;gap:6px;padding:7px 12px;font-size:11px;display:inline-flex}.nav-cv.svelte-ucthip svg{width:13px;height:13px}.nav-cv.svelte-ucthip:hover{border-color:var(--neon-cyan);color:var(--neon-cyan)}.nav-cta.svelte-ucthip{border-radius:var(--radius-pill);background:var(--neon-cyan);color:var(--fg-inverse);font-family:var(--font-display);letter-spacing:-.005em;box-shadow:var(--glow-cyan);transition:transform var(--dur-base) var(--ease-spring);align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.nav-cta.svelte-ucthip:hover{transform:translateY(-1px)}.nav-cta.svelte-ucthip .arrow:where(.svelte-ucthip){transition:transform var(--dur-base) var(--ease-spring)}.nav-cta.svelte-ucthip:hover .arrow:where(.svelte-ucthip){transform:translate(3px)}.menu-toggle.svelte-ucthip{color:var(--fg);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:6px;display:none}.menu-toggle.svelte-ucthip svg{width:22px;height:22px}@media (width<=1100px){.menu-toggle.svelte-ucthip{display:inline-flex}.nav-content.svelte-ucthip{gap:var(--space-4);padding:var(--space-5);background:var(--bg-glass);-webkit-backdrop-filter:blur(30px)saturate(1.5);border:1px solid var(--border-glass);border-radius:var(--radius-lg);opacity:0;pointer-events:none;max-height:0;transition:max-height var(--dur-slow) var(--ease-out-expo), opacity var(--dur-base) var(--ease-out-quart);flex-direction:column;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow:hidden}.nav-content.open.svelte-ucthip{opacity:1;pointer-events:auto;max-height:620px}nav.svelte-ucthip ul:where(.svelte-ucthip){flex-direction:column;width:100%}nav.svelte-ucthip ul:where(.svelte-ucthip) a:where(.svelte-ucthip){padding:10px 14px;font-size:13px;display:block}.nav-actions.svelte-ucthip{flex-wrap:wrap;justify-content:flex-start;width:100%}}.hero.svelte-1bvzgl{min-height:100vh;padding-top:calc(var(--space-10) + 40px);padding-bottom:var(--space-9);flex-direction:column;justify-content:center;display:flex}.hero-content.svelte-1bvzgl{max-width:var(--container-lg);padding:0 var(--gutter);width:100%;margin:0 auto}.hero-name.svelte-1bvzgl{font-family:var(--font-display);font-size:var(--fs-display-2xl);letter-spacing:-.04em;margin:var(--space-4) 0 var(--space-6);text-wrap:balance;font-weight:500;line-height:.92}.hero-name.svelte-1bvzgl .name-line:where(.svelte-1bvzgl){display:block}.hero-role.svelte-1bvzgl{font-family:var(--font-mono);color:var(--fg-muted);letter-spacing:.02em;margin:0 0 var(--space-6);flex-wrap:wrap;align-items:center;gap:10px;font-size:clamp(.9rem,1vw + .5rem,1.15rem);display:flex}.role-tag.svelte-1bvzgl{color:var(--neon-cyan);font-weight:700}.typewriter.svelte-1bvzgl{color:var(--fg)}.cursor-blink.svelte-1bvzgl{color:var(--neon-cyan);animation:1s steps(2,end) infinite svelte-1bvzgl-blink}@keyframes svelte-1bvzgl-blink{50%{opacity:0}}.hero-subtitle.svelte-1bvzgl{font-size:var(--fs-body-lg);color:var(--fg-muted);max-width:58ch;line-height:var(--lh-loose);margin:0 0 var(--space-7)}@media (width<=600px){.hero-subtitle.svelte-1bvzgl{line-height:var(--lh-normal)}}.hero-actions.svelte-1bvzgl{gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.hero-stats.svelte-1bvzgl{padding-top:var(--space-6);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid}.stat.svelte-1bvzgl{text-align:center;padding-inline:clamp(var(--space-3), 2vw, var(--space-5));flex-direction:column;align-items:center;gap:4px;display:flex}.stat.svelte-1bvzgl+.stat:where(.svelte-1bvzgl){border-left:1px solid var(--border)}@media (width<=720px){.hero-stats.svelte-1bvzgl{row-gap:var(--space-5);grid-template-columns:repeat(3,1fr)}.stat.svelte-1bvzgl:nth-child(4){border-left:none}}@media (width<=420px){.hero-stats.svelte-1bvzgl{grid-template-columns:repeat(2,1fr)}.stat.svelte-1bvzgl:nth-child(3){border-left:none}}.stat-num.svelte-1bvzgl{font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums;justify-content:center;align-items:flex-end;min-height:clamp(2.2rem,2.8vw + 1rem,3.4rem);font-size:clamp(2.2rem,2.8vw + 1rem,3.4rem);font-weight:500;line-height:1;display:flex}.stat-num.mono.svelte-1bvzgl{font-family:var(--font-mono);letter-spacing:-.02em;min-height:clamp(2.2rem,2.8vw + 1rem,3.4rem);font-size:clamp(1.7rem,2.1vw + .9rem,2.6rem)}.stat-num.mono.svelte-1bvzgl .unit:where(.svelte-1bvzgl){margin-left:.05em;font-size:.7em}.stat-num.svelte-1bvzgl .unit:where(.svelte-1bvzgl){color:var(--neon-cyan)}.stat-lbl.svelte-1bvzgl{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle);text-wrap:balance;max-width:16ch;font-size:11px;line-height:1.35}.scroll-hint.svelte-1bvzgl{bottom:var(--space-5);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-subtle);flex-direction:column;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-line.svelte-1bvzgl{background:linear-gradient(to bottom, transparent, var(--neon-cyan));width:1px;height:40px;animation:svelte-1bvzgl-scrollLine 2s var(--ease-in-out) infinite}@keyframes svelte-1bvzgl-scrollLine{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}@media (prefers-reduced-motion:reduce){.cursor-blink.svelte-1bvzgl,.scroll-line.svelte-1bvzgl{animation:none!important}}.about-grid.svelte-snz0yj{gap:var(--space-8);grid-template-columns:.9fr 1.4fr;align-items:start;display:grid}@media (width<=860px){.about-grid.svelte-snz0yj{gap:var(--space-7);grid-template-columns:1fr}}.avatar-wrapper.svelte-snz0yj{aspect-ratio:1;width:min(320px,100%);margin:0 auto var(--space-5);position:relative}.avatar-ring.svelte-snz0yj{border:1px solid var(--neon-cyan);opacity:.35;border-radius:50%;animation:16s linear infinite svelte-snz0yj-ringSpin;position:absolute;inset:-10px}.avatar-ring.ring-2.svelte-snz0yj{border-color:var(--neon-violet);opacity:.2;border-style:dashed;animation-duration:26s;animation-direction:reverse;inset:-22px}@keyframes svelte-snz0yj-ringSpin{to{transform:rotate(360deg)}}.avatar.svelte-snz0yj{background:var(--bg-elevated);border:1px solid var(--border-strong);width:100%;height:100%;box-shadow:var(--shadow-lg);border-radius:50%;place-items:center;display:grid;position:relative;inset:0;overflow:hidden}.avatar.svelte-snz0yj img:where(.svelte-snz0yj){object-fit:cover;filter:grayscale(20%)contrast(1.05);width:100%;height:100%}.avatar.svelte-snz0yj span:where(.svelte-snz0yj){font-family:var(--font-display);color:var(--neon-cyan);font-size:4rem;font-weight:600}.avatar-badge.svelte-snz0yj{background:var(--bg-elevated);border:1px solid var(--neon-cyan);border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--neon-cyan);white-space:nowrap;box-shadow:0 0 20px color-mix(in srgb, var(--neon-cyan) 25%, transparent);padding:6px 14px;font-size:10px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.about-tags.svelte-snz0yj{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tech-tag.svelte-snz0yj{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--fg) 2%, transparent);padding:5px 11px;font-size:9.5px}.about-text.svelte-snz0yj h2:where(.svelte-snz0yj){font-family:var(--font-display);font-size:var(--fs-display-lg);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-6);font-weight:500;line-height:1.02}.prose.svelte-snz0yj{font-size:var(--fs-body-lg);line-height:var(--lh-loose);color:var(--fg-muted);margin:0 0 var(--space-4)}.prose.svelte-snz0yj strong{color:var(--fg);font-weight:600}.about-text.svelte-snz0yj .prose:where(.svelte-snz0yj):first-of-type:first-letter{font-family:var(--font-display);color:var(--neon-cyan);font-size:1.6em;font-weight:600}.about-links.svelte-snz0yj{gap:var(--space-5);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.about-link.svelte-snz0yj{font-family:var(--font-mono);color:var(--fg-muted);transition:color var(--dur-base) var(--ease-out-quart);align-items:center;gap:10px;font-size:13px;display:inline-flex}.about-link.svelte-snz0yj svg{width:16px;height:16px}.about-link.svelte-snz0yj:hover{color:var(--neon-cyan)}@media (prefers-reduced-motion:reduce){.avatar-ring.svelte-snz0yj{animation:none!important}}.strengths-grid.svelte-51szk3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=960px){.strengths-grid.svelte-51szk3{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.strengths-grid.svelte-51szk3{grid-template-columns:1fr}}.strength-card.svelte-51szk3{padding:var(--space-6);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:transform var(--dur-slow) var(--ease-out-expo), border-color var(--dur-slow) var(--ease-out-quart), box-shadow var(--dur-slow) var(--ease-out-expo);position:relative;overflow:hidden}.strength-card.svelte-51szk3:before{content:"";background:linear-gradient(92deg, transparent, var(--accent-on), transparent);opacity:0;height:2px;transition:opacity var(--dur-base) var(--ease-out-quart);position:absolute;top:0;left:0;right:0}.strength-card.svelte-51szk3:hover{box-shadow:var(--shadow-lg), var(--accent-glow);border-color:#0000;transform:translateY(-4px)}.strength-card.svelte-51szk3:hover:before{opacity:1}.strength-card.svelte-51szk3:after{content:"";background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), color-mix(in srgb, var(--accent-on) 15%, transparent), transparent 40%);opacity:0;transition:opacity var(--dur-base) var(--ease-out-quart);pointer-events:none;z-index:0;position:absolute;inset:0}.strength-card.svelte-51szk3:hover:after{opacity:1}.strength-card.svelte-51szk3>:where(.svelte-51szk3){z-index:1;position:relative}.card-num.svelte-51szk3{letter-spacing:.18em;color:var(--fg-whisper);text-transform:uppercase;font-size:10.5px}.strength-icon.svelte-51szk3{margin:var(--space-4) 0 var(--space-5);border-radius:var(--radius-md);background:color-mix(in srgb, var(--neon-violet) 8%, transparent);width:44px;height:44px;color:var(--accent-on);border:1px solid var(--border);transition:transform var(--dur-base) var(--ease-spring);place-items:center;display:grid}.strength-icon.svelte-51szk3 svg{width:22px;height:22px}.strength-card.svelte-51szk3:hover .strength-icon:where(.svelte-51szk3){transform:scale(1.08)rotate(-3deg)}.strength-card.svelte-51szk3 h3:where(.svelte-51szk3){font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 var(--space-2);color:var(--fg);font-size:1.15rem;font-weight:600}.strength-card.svelte-51szk3 p:where(.svelte-51szk3){color:var(--fg-muted);margin:0;font-size:14px;line-height:1.55}.radar-layout.svelte-c70eu5{align-items:center;gap:var(--space-8);margin-bottom:var(--space-8);display:flex}@media (width<=900px){.radar-layout.svelte-c70eu5{flex-direction:column;align-items:stretch}.radar-chart-wrap.svelte-c70eu5{max-width:460px;margin:0 auto}}.radar-chart-wrap.svelte-c70eu5{flex:none;width:min(440px,100%)}.radar-svg.svelte-c70eu5{width:100%;height:auto;display:block;overflow:visible}.radar-ring.svelte-c70eu5{fill:none;stroke:var(--fg-whisper);stroke-width:1px}.radar-ring-lbl.svelte-c70eu5{font-family:var(--font-mono);fill:var(--fg-whisper);letter-spacing:.06em;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:9px}.radar-axis.svelte-c70eu5{stroke:var(--border-strong);stroke-width:1px;transition:stroke var(--dur-base), stroke-width var(--dur-base)}.radar-axis.is-hovered.svelte-c70eu5{stroke:var(--neon-violet);stroke-width:1.5px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--neon-violet) 70%, transparent))}.radar-data-group.svelte-c70eu5{transform-box:view-box;transform-origin:50%;opacity:0;transition:transform 1s var(--ease-spring), opacity .35s ease;transform:scale(0)}.visible .radar-data-group.svelte-c70eu5{opacity:1;transform:scale(1)}.radar-fill.svelte-c70eu5{fill:url(#radar-grad)}.radar-stroke.svelte-c70eu5{fill:none;stroke:var(--neon-violet);stroke-width:2px;stroke-linejoin:round}.radar-dot.svelte-c70eu5{transition:r var(--dur-fast) var(--ease-spring);cursor:default}.radar-dot--cyan.svelte-c70eu5{fill:var(--neon-cyan)}.radar-dot--violet.svelte-c70eu5{fill:var(--neon-violet)}.radar-dot--pink.svelte-c70eu5{fill:var(--neon-pink)}.radar-dot--yellow.svelte-c70eu5{fill:var(--neon-yellow)}.radar-lbl.svelte-c70eu5{font-family:var(--font-mono);fill:var(--fg-subtle);letter-spacing:.025em;transition:fill var(--dur-base), font-size var(--dur-fast);cursor:default;font-size:11.5px}.radar-lbl--hovered.svelte-c70eu5{fill:var(--fg);font-size:12px}.radar-center-name.svelte-c70eu5{font-family:var(--font-display);fill:var(--fg-muted);letter-spacing:-.01em;font-size:13px;font-weight:600}.radar-center-sub.svelte-c70eu5{font-family:var(--font-mono);fill:var(--neon-violet);letter-spacing:.08em;font-size:10px}.radar-legend.svelte-c70eu5{flex-direction:column;flex:1;gap:3px;margin:0;padding:0;list-style:none;display:flex}.radar-legend-item.svelte-c70eu5{align-items:center;gap:var(--space-3);padding:.55rem var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-base), border-color var(--dur-base), box-shadow var(--dur-base);border:1px solid #0000;grid-template-columns:8px 26px 1fr auto auto 16px;display:grid}.radar-legend-item.svelte-c70eu5:focus-visible{outline:2px solid var(--li-accent);outline-offset:-2px}.radar-legend-item--cyan.svelte-c70eu5{--li-accent:var(--neon-cyan);--li-glow:var(--glow-cyan)}.radar-legend-item--violet.svelte-c70eu5{--li-accent:var(--neon-violet);--li-glow:var(--glow-violet)}.radar-legend-item--pink.svelte-c70eu5{--li-accent:var(--neon-pink);--li-glow:var(--glow-pink)}.radar-legend-item--yellow.svelte-c70eu5{--li-accent:var(--neon-yellow);--li-glow:var(--glow-yellow)}.radar-legend-item.is-hovered.svelte-c70eu5,.radar-legend-item.is-expanded.svelte-c70eu5{background:var(--bg-elevated);border-color:var(--border-strong);box-shadow:inset 0 0 0 1px var(--border)}.rli-dot.svelte-c70eu5{background:var(--li-accent);width:8px;height:8px;box-shadow:0 0 7px var(--li-accent);transition:box-shadow var(--dur-base);border-radius:50%;flex-shrink:0}.radar-legend-item.is-hovered.svelte-c70eu5 .rli-dot:where(.svelte-c70eu5),.radar-legend-item.is-expanded.svelte-c70eu5 .rli-dot:where(.svelte-c70eu5){box-shadow:0 0 14px var(--li-accent)}.rli-idx.svelte-c70eu5{color:var(--fg-whisper);letter-spacing:.1em;font-size:10px}.rli-name.svelte-c70eu5{font-family:var(--font-display);color:var(--fg);letter-spacing:-.01em;font-size:.95rem;font-weight:600}.rli-cat.svelte-c70eu5{color:var(--fg-whisper);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.rli-pct.svelte-c70eu5{color:var(--li-accent);letter-spacing:.06em;font-size:11px;font-weight:500}.rli-chevron.svelte-c70eu5{width:16px;height:16px;color:var(--fg-whisper);transition:transform var(--dur-base) ease, color var(--dur-base) ease;justify-content:center;align-items:center;display:flex}.radar-legend-item.is-hovered.svelte-c70eu5 .rli-chevron:where(.svelte-c70eu5){color:var(--fg-subtle)}.radar-legend-item.is-expanded.svelte-c70eu5 .rli-chevron:where(.svelte-c70eu5){color:var(--li-accent);transform:rotate(180deg)}.rli-details-wrapper.svelte-c70eu5{grid-column:1/-1;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.25,1,.5,1),margin-top .38s,padding-top .38s;display:grid;overflow:hidden}.rli-details-wrapper.expanded.svelte-c70eu5{margin-top:var(--space-3);border-top:1px dashed var(--border);padding-top:var(--space-3);grid-template-rows:1fr}.rli-details-content.svelte-c70eu5{min-height:0}.rli-desc.svelte-c70eu5{color:var(--fg-muted);text-align:left;margin:0;font-size:.88rem;font-weight:400;line-height:1.55}.extra-skills.svelte-c70eu5{padding-top:var(--space-6);border-top:1px solid var(--border);gap:var(--space-4);display:grid}.extra-tags.svelte-c70eu5{flex-wrap:wrap;gap:6px;display:flex}.extra-tag.svelte-c70eu5{letter-spacing:.08em;color:var(--fg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);transition:color var(--dur-base) var(--ease-out-quart), border-color var(--dur-base) var(--ease-out-quart);padding:5px 11px;font-size:10.5px}.extra-tag.svelte-c70eu5:hover{color:var(--neon-violet);border-color:var(--neon-violet)}@media (prefers-reduced-motion:reduce){.radar-data-group.svelte-c70eu5{opacity:1!important;transition:none!important;transform:scale(1)!important}}.projects-grid.svelte-1dbgs65{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=820px){.projects-grid.svelte-1dbgs65{grid-template-columns:1fr}}.project-card.svelte-1dbgs65{gap:var(--space-3);padding:var(--space-6);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass);border-radius:var(--radius-xl);color:inherit;transition:transform var(--dur-slow) var(--ease-out-expo), border-color var(--dur-slow) var(--ease-out-quart), box-shadow var(--dur-slow) var(--ease-out-expo);grid-template-rows:auto auto 1fr auto;text-decoration:none;display:grid;position:relative;overflow:hidden}.project-card[data-accent=cyan].svelte-1dbgs65{--accent-on:var(--neon-cyan);--accent-glow:var(--glow-cyan)}.project-card[data-accent=violet].svelte-1dbgs65{--accent-on:var(--neon-violet);--accent-glow:var(--glow-violet)}.project-card[data-accent=pink].svelte-1dbgs65{--accent-on:var(--neon-pink);--accent-glow:var(--glow-pink)}.project-card.svelte-1dbgs65:before{content:"";background:linear-gradient(92deg, var(--neon-cyan), var(--neon-violet), var(--neon-pink));opacity:.4;height:2px;transition:opacity var(--dur-base) var(--ease-out-quart);position:absolute;top:0;left:0;right:0}.project-card.svelte-1dbgs65:hover{box-shadow:var(--shadow-lg), var(--accent-glow);border-color:#0000;transform:translateY(-4px)}.project-card.svelte-1dbgs65:hover:before{opacity:1}.project-card.svelte-1dbgs65:after{content:"";background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), color-mix(in srgb, var(--accent-on) 15%, transparent), transparent 40%);opacity:0;transition:opacity var(--dur-base) var(--ease-out-quart);pointer-events:none;z-index:0;position:absolute;inset:0}.project-card.svelte-1dbgs65:hover:after{opacity:1}.project-card.svelte-1dbgs65>:where(.svelte-1dbgs65){z-index:1;position:relative}.project-topline.svelte-1dbgs65{letter-spacing:.22em;text-transform:uppercase;color:var(--fg-whisper);justify-content:space-between;font-size:10.5px;display:flex}.project-icon.svelte-1dbgs65{border-radius:var(--radius-md);background:color-mix(in srgb, var(--neon-pink) 8%, transparent);width:44px;height:44px;color:var(--accent-on);border:1px solid var(--border);margin-bottom:var(--space-2);place-items:center;display:grid}.project-icon.svelte-1dbgs65 svg{width:22px;height:22px}.project-card.svelte-1dbgs65 h3:where(.svelte-1dbgs65){font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);margin:0;font-size:1.45rem;font-weight:600;line-height:1.15}.project-card.svelte-1dbgs65 p:where(.svelte-1dbgs65){color:var(--fg-muted);margin:0;font-size:14px;line-height:1.6}.project-footer.svelte-1dbgs65{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-top:var(--space-2);display:flex}.project-tags.svelte-1dbgs65{flex-wrap:wrap;gap:6px;display:flex}.project-tag.svelte-1dbgs65{letter-spacing:.15em;text-transform:uppercase;color:var(--fg-subtle);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:4px 10px;font-size:9.5px}.project-arrow.svelte-1dbgs65{font-family:var(--font-display);color:var(--fg-subtle);transition:transform var(--dur-base) var(--ease-spring), color var(--dur-base) var(--ease-out-quart);font-size:1.5rem}.project-card.svelte-1dbgs65:hover .project-arrow:where(.svelte-1dbgs65){color:var(--accent-on);transform:translate(3px,-3px)}.project-metric.svelte-1dbgs65{top:var(--space-4);right:var(--space-6);letter-spacing:.1em;color:var(--accent-on);font-size:10.5px;position:absolute}.exp-list.svelte-zckagl{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.exp-row.svelte-zckagl{gap:var(--space-5);padding:var(--space-6) 0;border-bottom:1px solid var(--border);transition:padding var(--dur-base) var(--ease-out-quart);grid-template-columns:160px 1fr 64px;align-items:start;display:grid;position:relative;overflow:hidden}.exp-row.svelte-zckagl:after{content:"";background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), color-mix(in srgb, var(--neon-cyan) 8%, transparent), transparent 40%);opacity:0;transition:opacity var(--dur-base) var(--ease-out-quart);pointer-events:none;z-index:0;position:absolute;inset:0}.exp-row.svelte-zckagl:hover{padding-left:10px}.exp-row.svelte-zckagl:hover:after{opacity:1}.exp-row.svelte-zckagl>:where(.svelte-zckagl){z-index:1;position:relative}.exp-row.svelte-zckagl:hover .exp-role:where(.svelte-zckagl){color:var(--neon-cyan)}@media (width<=720px){.exp-row.svelte-zckagl{gap:var(--space-2);grid-template-columns:1fr}.exp-idx.svelte-zckagl{display:none}}.exp-year.svelte-zckagl{letter-spacing:.08em;color:var(--fg-subtle);padding-top:6px;font-size:11px}.exp-body.svelte-zckagl{min-width:0}.exp-role.svelte-zckagl{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);transition:color var(--dur-base) var(--ease-out-quart);margin:0 0 4px;font-size:1.35rem;font-weight:600}.exp-co.svelte-zckagl{color:var(--neon-cyan);letter-spacing:.06em;font-size:11.5px}.exp-body.svelte-zckagl p:where(.svelte-zckagl){color:var(--fg-muted);margin:10px 0 var(--space-3);line-height:var(--lh-normal);font-size:14px}.exp-tags.svelte-zckagl{flex-wrap:wrap;gap:6px;display:flex}.exp-tag.svelte-zckagl{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 10px;font-size:9.5px}.exp-idx.svelte-zckagl{text-align:right;letter-spacing:.18em;color:var(--fg-whisper);padding-top:8px;font-size:10.5px}.blog-grid.svelte-afhm4l{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.blog-card.svelte-afhm4l{padding:var(--space-6);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);color:inherit;gap:var(--space-3);transition:transform var(--dur-base) var(--ease-out-quart), border-color var(--dur-base) var(--ease-out-quart), box-shadow var(--dur-base) var(--ease-out-quart);flex-direction:column;display:flex;position:relative;overflow:hidden}.blog-card.svelte-afhm4l:after{content:"";background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), color-mix(in srgb, var(--neon-violet) 15%, transparent), transparent 40%);opacity:0;transition:opacity var(--dur-base) var(--ease-out-quart);pointer-events:none;z-index:0;position:absolute;inset:0}.blog-card.svelte-afhm4l:hover{box-shadow:var(--shadow-lg), var(--glow-violet);border-color:#0000;transform:translateY(-3px)}.blog-card.svelte-afhm4l:hover:after{opacity:1}.blog-card.svelte-afhm4l>:where(.svelte-afhm4l){z-index:1;position:relative}.blog-meta.svelte-afhm4l{letter-spacing:.08em;color:var(--fg-subtle);justify-content:space-between;font-size:10.5px;display:flex}.blog-title.svelte-afhm4l{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg);margin:0;font-size:1.25rem;font-weight:600;line-height:1.2}.blog-body.svelte-afhm4l{color:var(--fg-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-body.svelte-afhm4l a{color:var(--neon-violet)}.blog-body.svelte-afhm4l code{font-family:var(--font-mono);color:var(--neon-cyan);font-size:12px}.blog-tags.svelte-afhm4l{gap:var(--space-2);flex-wrap:wrap;display:flex}.blog-tag.svelte-afhm4l{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid color-mix(in srgb, var(--neon-violet) 30%, transparent);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--neon-violet) 6%, transparent);color:var(--neon-violet);padding:.15rem .5rem;font-size:10px}.blog-read-more.svelte-afhm4l{letter-spacing:.08em;color:var(--neon-violet);margin-top:auto;font-size:11px}.blog-state.svelte-afhm4l{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-9) 0;color:var(--fg-subtle);font-size:13px;display:flex}.blog-empty-icon.svelte-afhm4l{width:22px;height:22px;color:var(--neon-violet)}.blog-spinner.svelte-afhm4l{border:2px solid var(--border-strong);border-top-color:var(--neon-violet);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite svelte-afhm4l-spin}@keyframes svelte-afhm4l-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.blog-spinner.svelte-afhm4l{animation:none!important}}.contact-section.svelte-zpbwxv{padding-bottom:var(--space-10)}.contact-inner.svelte-zpbwxv{padding:var(--space-9) var(--space-6);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-2xl);text-align:center;position:relative;overflow:hidden}.contact-inner.svelte-zpbwxv:before{content:"";background:radial-gradient(ellipse at 20% 0%, color-mix(in srgb, var(--neon-yellow) 10%, transparent), transparent 55%), radial-gradient(ellipse at 100% 100%, color-mix(in srgb, var(--neon-pink) 10%, transparent), transparent 55%);pointer-events:none;position:absolute;inset:0}.contact-inner.svelte-zpbwxv>:where(.svelte-zpbwxv){position:relative}.contact-inner.svelte-zpbwxv .eyebrow{justify-content:center}.contact-title.svelte-zpbwxv{font-family:var(--font-display);font-size:var(--fs-display-xl);letter-spacing:var(--tracking-tight);margin:var(--space-3) 0 var(--space-5);text-wrap:balance;max-width:22ch;margin-inline:auto;font-weight:500;line-height:1}.contact-highlight.svelte-zpbwxv{background:linear-gradient(92deg, var(--neon-yellow), var(--neon-pink));color:#0000;-webkit-background-clip:text;background-clip:text}.contact-sub.svelte-zpbwxv{font-size:var(--fs-body-lg);color:var(--fg-muted);max-width:56ch;margin:0 auto var(--space-7);line-height:var(--lh-loose)}.contact-btn.svelte-zpbwxv{margin-bottom:var(--space-6)}.contact-socials.svelte-zpbwxv{justify-content:center;gap:var(--space-3);font-family:var(--font-mono);letter-spacing:.08em;color:var(--fg-subtle);flex-wrap:wrap;font-size:12px;display:flex}.social-link.svelte-zpbwxv{color:var(--fg-muted);transition:color var(--dur-base) var(--ease-out-quart)}.social-link.svelte-zpbwxv:hover{color:var(--neon-yellow)}.social-sep.svelte-zpbwxv{color:var(--fg-whisper)}
