.xmark[data-v-3238d193]{display:inline-block;overflow:visible;vertical-align:middle}.xmark-glyph[data-v-3238d193]{transform-origin:50% 50%}.xmark.is-animated .xmark-glyph line[data-v-3238d193]{stroke-dasharray:120;stroke-dashoffset:120;animation:xmark-draw-3238d193 .6s var(--ease-out, ease-out) forwards}@keyframes xmark-draw-3238d193{to{stroke-dashoffset:0}}.navbar[data-v-8283c787]{position:fixed;top:0;left:0;right:0;z-index:800;height:var(--nav-h);transition:background .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}.navbar.scrolled[data-v-8283c787]{background:color-mix(in srgb,var(--bg-900) 70%,transparent);border-bottom-color:var(--line)}.nav-progress[data-v-8283c787]{position:absolute;top:0;left:0;height:2px;background:var(--grad-text);transition:width .1s linear;box-shadow:0 0 8px color-mix(in srgb,var(--accent-2) 50%,transparent)}.nav-inner[data-v-8283c787]{height:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo[data-v-8283c787]{font-family:var(--font-mono);font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.nl-morph[data-v-8283c787]{position:relative;width:22px;height:22px;flex:0 0 auto}.nl-x[data-v-8283c787]{width:22px;height:22px;color:var(--c-secondary);transition:transform .45s var(--ease-spring),opacity .3s var(--ease-out),color .3s}.nav-logo:hover .nl-x[data-v-8283c787]{transform:rotate(-8deg) scale(1.12);color:var(--c-primary)}.nl-back[data-v-8283c787]{position:absolute;top:0;right:0;bottom:0;left:0;width:22px;height:22px;color:var(--c-primary);opacity:0;transform:rotate(90deg) scale(.5);transition:transform .45s var(--ease-spring),opacity .3s var(--ease-out);pointer-events:none}.nav-logo.is-back .nl-x[data-v-8283c787]{opacity:0;transform:rotate(-90deg) scale(.45)}.nav-logo.is-back .nl-back[data-v-8283c787]{opacity:1;transform:rotate(0) scale(1)}.nav-logo.is-back:hover .nl-back[data-v-8283c787]{transform:translate(-3px) scale(1.05)}.nl-name[data-v-8283c787]{color:var(--text-100);transition:color .3s}.nav-logo.is-back .nl-name[data-v-8283c787]{color:var(--c-primary)}.nl-icon[data-v-8283c787]{width:15px;height:15px}.ts-mode-icon[data-v-8283c787]{width:17px;height:17px}.nav-links[data-v-8283c787]{display:flex;align-items:center;gap:4px}.nav-links a[data-v-8283c787]{position:relative;padding:var(--space-2) var(--space-3_5);font-size:14px;color:var(--text-500);transition:color .2s;font-family:var(--font-mono)}.nav-links a[data-v-8283c787]:after{content:"";position:absolute;bottom:2px;left:14px;right:14px;height:1px;background:var(--grad-accent);transform:scaleX(0);transition:transform .3s var(--ease-out)}.nav-links a[data-v-8283c787]:hover{color:var(--text-100)}.nav-links a[data-v-8283c787]:hover:after{transform:scaleX(1)}.nav-links a.active[data-v-8283c787]{color:var(--c-primary)}.nav-links a.active[data-v-8283c787]:after{transform:scaleX(1)}.nav-lang[data-v-8283c787]{margin-left:10px;padding:7px var(--space-3_5);border:1px solid var(--line-strong);border-radius:var(--radius-full);font-size:13px;color:var(--text-300);font-family:var(--font-mono);display:flex;align-items:center;gap:6px;transition:all .2s}.nav-lang[data-v-8283c787]:hover{border-color:var(--c-primary);color:var(--c-primary)}.theme-switcher[data-v-8283c787]{position:relative;display:flex;align-items:center;gap:8px;margin-left:8px}.ts-swatch[data-v-8283c787]{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg-card) 60%,transparent);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease-spring),border-color .2s}.ts-swatch[data-v-8283c787]:hover{transform:rotate(60deg) scale(1.08);border-color:var(--swatch)}.ts-swatch-dot[data-v-8283c787]{width:16px;height:16px;border-radius:50%;background:conic-gradient(from 0deg,var(--swatch),color-mix(in srgb,var(--swatch) 50%,#fff),var(--swatch));box-shadow:0 0 10px color-mix(in srgb,var(--swatch) 60%,transparent)}.ts-mode[data-v-8283c787]{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg-card) 60%,transparent);font-size:16px;color:var(--text-300);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease-spring),color .2s,border-color .2s}.ts-mode[data-v-8283c787]:hover{transform:scale(1.1) rotate(15deg);color:var(--accent-3);border-color:var(--accent-3)}.ts-menu[data-v-8283c787]{position:absolute;top:calc(100% + 12px);right:0;min-width:200px;padding:var(--space-2_5);background:color-mix(in srgb,var(--bg-800) 95%,transparent);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 20px 50px color-mix(in srgb,var(--bg-900) 50%,transparent);z-index:10}.ts-menu-title[data-v-8283c787]{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-700);padding:var(--space-1) var(--space-2) var(--space-2)}.ts-menu-item[data-v-8283c787]{display:flex;align-items:center;gap:10px;width:100%;padding:9px var(--space-2_5);border-radius:var(--radius-md);font-size:13px;color:var(--text-300);transition:background .2s,color .2s}.ts-menu-item[data-v-8283c787]:hover{background:color-mix(in srgb,var(--accent-1) 8%,transparent);color:var(--text-100)}.ts-menu-item.active[data-v-8283c787]{background:color-mix(in srgb,var(--accent-1) 12%,transparent);color:var(--text-100)}.ts-menu-dot[data-v-8283c787]{width:14px;height:14px;border-radius:50%;border:1px solid var(--line-strong);flex-shrink:0}.ts-menu-name[data-v-8283c787]{flex:1;text-align:left}.ts-menu-check[data-v-8283c787]{color:var(--accent-1);font-size:14px}.ts-menu-hint[data-v-8283c787]{margin-top:6px;padding:var(--space-2) var(--space-2) var(--space-0_5);border-top:1px solid var(--line);font-family:var(--font-mono);font-size:10px;color:var(--text-700)}.menu-enter-active[data-v-8283c787],.menu-leave-active[data-v-8283c787]{transition:opacity .2s,transform .2s var(--ease-spring)}.menu-enter-from[data-v-8283c787],.menu-leave-to[data-v-8283c787]{opacity:0;transform:translateY(-8px) scale(.96)}.nav-burger[data-v-8283c787]{display:none;flex-direction:column;gap:5px;padding:var(--space-1_5)}.nav-burger span[data-v-8283c787]{width:22px;height:2px;background:var(--text-100);transition:transform .3s,opacity .3s}.nav-burger.open span[data-v-8283c787]:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger.open span[data-v-8283c787]:nth-child(2){opacity:0}.nav-burger.open span[data-v-8283c787]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.nav-burger[data-v-8283c787]{display:flex}.nav-links[data-v-8283c787]{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;background:color-mix(in srgb,var(--bg-900) 96%,transparent);border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-6) var(--space-5);transform:translateY(-120%);transition:transform var(--duration-slow) var(--ease-spring)}.nav-links.open[data-v-8283c787]{transform:translateY(0)}.nav-links a[data-v-8283c787]{width:100%;padding:var(--space-3_5) 0;border-bottom:1px solid var(--line)}.nav-links a[data-v-8283c787]:after{display:none}.nav-lang[data-v-8283c787]{margin:14px 0 0}}.section-nav[data-v-c8b85416]{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:12px}.section-nav__dots[data-v-c8b85416]{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0}.section-nav__track[data-v-c8b85416]{position:absolute;left:-10px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--line);overflow:hidden}.section-nav__fill[data-v-c8b85416]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--accent-1),var(--accent-2));transform-origin:top;transform:scaleY(0);transition:transform .15s linear;box-shadow:0 0 6px var(--glow)}.section-nav__dot[data-v-c8b85416]{position:relative;width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0}.section-nav__dot-core[data-v-c8b85416]{width:7px;height:7px;border-radius:50%;background:var(--text-700);transition:all .3s var(--ease-out)}.section-nav__dot:hover .section-nav__dot-core[data-v-c8b85416]{background:var(--text-300);transform:scale(1.3)}.section-nav__dot.active .section-nav__dot-core[data-v-c8b85416]{background:var(--accent-1);transform:scale(1.45);box-shadow:0 0 8px var(--glow)}.section-nav__dot-label[data-v-c8b85416]{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(6px);padding:4px 10px;border-radius:6px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg-800) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);font-size:11px;white-space:nowrap;color:var(--text-300);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s var(--ease-out)}.section-nav__dot:hover .section-nav__dot-label[data-v-c8b85416]{opacity:1;transform:translateY(-50%) translate(0)}.section-nav__btn[data-v-c8b85416]{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line-strong);background:color-mix(in srgb,var(--surface-100) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-out);padding:0}.section-nav__btn[data-v-c8b85416]:hover{border-color:var(--accent-1);background:color-mix(in srgb,var(--accent-1) 12%,transparent);transform:scale(1.08)}.section-nav__btn[data-v-c8b85416]:active{transform:scale(.95)}.section-nav__btn.is-hidden[data-v-c8b85416]{opacity:0;visibility:hidden;pointer-events:none}.nav-arrow[data-v-c8b85416]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;position:relative}.nav-arrow-line[data-v-c8b85416]{display:block;width:10px;height:10px;border-right:2px solid var(--text-300);border-top:2px solid var(--text-300);transform:rotate(-45deg);transition:border-color .2s}.section-nav__btn:hover .nav-arrow-line[data-v-c8b85416]{border-color:var(--accent-1)}.nav-arrow--down .nav-arrow-line[data-v-c8b85416]{transform:rotate(135deg)}.back-to-top[data-v-c8b85416]{position:fixed;right:2rem;bottom:92px;z-index:50;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line-strong);background:color-mix(in srgb,var(--surface-100) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-out);padding:0}.back-to-top[data-v-c8b85416]:hover{border-color:var(--accent-1);background:color-mix(in srgb,var(--accent-1) 12%,transparent);transform:scale(1.08)}.back-to-top[data-v-c8b85416]:active{transform:scale(.95)}.btt-icon[data-v-c8b85416]{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.btt-arrow[data-v-c8b85416]{display:block;width:10px;height:10px;border-right:2px solid var(--text-300);border-top:2px solid var(--text-300);transform:rotate(-45deg);transition:border-color .2s}.back-to-top:hover .btt-arrow[data-v-c8b85416]{border-color:var(--accent-1)}.fade-slide-enter-active[data-v-c8b85416],.fade-slide-leave-active[data-v-c8b85416]{transition:all .4s var(--ease-out)}.fade-slide-enter-from[data-v-c8b85416],.fade-slide-leave-to[data-v-c8b85416]{opacity:0;transform:translateY(-50%) translate(20px)}.fade-enter-active[data-v-c8b85416],.fade-leave-active[data-v-c8b85416]{transition:all .3s var(--ease-out)}.fade-enter-from[data-v-c8b85416],.fade-leave-to[data-v-c8b85416]{opacity:0;transform:translateY(10px)}@media(max-width:768px){.section-nav[data-v-c8b85416]{right:1rem;gap:8px}.section-nav__dots[data-v-c8b85416]{display:none}.section-nav__btn[data-v-c8b85416]{width:36px;height:36px}.nav-arrow-line[data-v-c8b85416]{width:8px;height:8px}.back-to-top[data-v-c8b85416]{right:1rem;bottom:88px;width:40px;height:40px}.btt-arrow[data-v-c8b85416]{width:8px;height:8px}}.energy-field[data-v-e7530a36]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.ef-canvas[data-v-e7530a36]{width:100%;height:100%;display:block}.ef-fallback[data-v-e7530a36]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 25% 30%,color-mix(in srgb,var(--accent-1) 28%,transparent),transparent 50%),radial-gradient(circle at 75% 40%,color-mix(in srgb,var(--accent-2) 25%,transparent),transparent 50%),radial-gradient(circle at 50% 80%,color-mix(in srgb,var(--accent-3) 20%,transparent),transparent 50%),var(--bg-900);animation:ef-shift-e7530a36 18s ease-in-out infinite alternate}@keyframes ef-shift-e7530a36{0%{transform:scale(1) rotate(0)}to{transform:scale(1.15) rotate(3deg)}}.ef-mask[data-v-e7530a36]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 40%,var(--bg-900) 95%),linear-gradient(to top,transparent 60%,color-mix(in srgb,var(--bg-900) 60%,transparent));pointer-events:none}.code-particles[data-v-4af9b816]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.terminal-window[data-v-deeea577]{position:relative;width:min(560px,92vw);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;font-family:var(--font-mono)}.tw-bar[data-v-deeea577]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#ffffff06;border-bottom:1px solid var(--line)}.tw-dot[data-v-deeea577]{width:12px;height:12px;border-radius:50%}.tw-dot-r[data-v-deeea577]{background:#ff5f57}.tw-dot-y[data-v-deeea577]{background:#febc2e}.tw-dot-g[data-v-deeea577]{background:#28c840}.tw-title[data-v-deeea577]{margin-left:var(--space-2_5);font-size:12px;color:var(--text-500);letter-spacing:.02em}.tw-status[data-v-deeea577]{margin-left:auto;display:flex;align-items:center;gap:var(--space-1_5);font-size:11px;color:var(--text-700)}.tw-led[data-v-deeea577]{width:7px;height:7px;border-radius:50%;background:var(--c-primary);box-shadow:0 0 8px var(--c-primary)}.tw-led.blink[data-v-deeea577]{animation:blink .8s infinite}.tw-body[data-v-deeea577]{padding:22px 20px;min-height:220px;font-size:14px;line-height:1.9}.tw-line[data-v-deeea577]{display:flex;gap:var(--space-2_5);align-items:baseline;word-break:break-word}.tw-cmd[data-v-deeea577]{color:var(--text-100)}.tw-out[data-v-deeea577]{color:var(--text-300);padding-left:var(--space-5)}.tw-out .tw-text[data-v-deeea577]{color:var(--c-primary)}.tw-prompt[data-v-deeea577]{color:var(--accent-2);font-weight:700}.tw-cmd .tw-text[data-v-deeea577]{color:var(--c-primary)}.tw-cursor[data-v-deeea577],.tw-cursor-static[data-v-deeea577]{color:var(--c-primary);animation:blink 1s infinite;margin-left:var(--space-0_5)}.tw-cmd-final[data-v-deeea577]{margin-top:var(--space-1);color:var(--accent-2)}.hero[data-v-bdf5b18e]{position:relative;min-height:100svh;scroll-margin-top:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;padding-top:var(--nav-h);overflow:hidden}.hero-layer-bg[data-v-bdf5b18e],.hero-layer-mid[data-v-bdf5b18e]{position:absolute;top:-240px;right:0;bottom:-240px;left:0;z-index:0}.hero-layer-mid[data-v-bdf5b18e]{z-index:1}.hero-content[data-v-bdf5b18e]{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;width:100%}.hero-badge[data-v-bdf5b18e]{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:12px;color:var(--text-300);background:color-mix(in srgb,var(--accent-1) 4%,transparent);margin-bottom:28px}.hero-badge-led[data-v-bdf5b18e]{width:8px;height:8px;border-radius:50%;background:var(--c-primary);box-shadow:0 0 10px var(--c-primary);animation:pulse 2s infinite}.hero-title[data-v-bdf5b18e]{font-size:clamp(40px,6.5vw,80px);font-weight:700;line-height:1.2;letter-spacing:-.03em;margin-bottom:var(--space-6)}.ht-line[data-v-bdf5b18e]{display:block}.ht-accent[data-v-bdf5b18e]{display:inline-block}.hero-role[data-v-bdf5b18e]{font-size:19px;color:var(--text-300);margin-bottom:var(--space-9);font-family:var(--font-mono)}.hero-cta[data-v-bdf5b18e]{display:flex;gap:var(--space-3_5);margin-bottom:var(--space-14);flex-wrap:wrap}.arrow[data-v-bdf5b18e]{transition:transform .3s var(--ease-out)}.btn-primary:hover .arrow[data-v-bdf5b18e]{transform:translate(4px)}.hero-stats[data-v-bdf5b18e]{display:flex;gap:var(--space-12);flex-wrap:wrap}.hs-item[data-v-bdf5b18e]{display:flex;flex-direction:column;gap:var(--space-1)}.hs-value[data-v-bdf5b18e]{font-size:34px;font-weight:700;font-family:var(--font-mono);line-height:1}.hs-label[data-v-bdf5b18e]{font-size:13px;color:var(--text-500)}.hero-right[data-v-bdf5b18e]{display:flex;justify-content:center}.hero-scroll-hint[data-v-bdf5b18e]{position:absolute;bottom:var(--space-8);left:50%;transform:translate(calc(-50% + var(--parallax-x, 0px)),var(--parallax-y, 0px));z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-2_5)}.mouse[data-v-bdf5b18e]{width:24px;height:38px;border:2px solid var(--text-500);border-radius:14px;display:flex;justify-content:center;padding-top:7px}.wheel[data-v-bdf5b18e]{width:4px;height:8px;border-radius:var(--radius-xs);background:var(--accent-1);animation:wheel-bdf5b18e 1.6s infinite}@keyframes wheel-bdf5b18e{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:0}}.hsh-text[data-v-bdf5b18e]{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-700)}@media(max-width:900px){.hero-content[data-v-bdf5b18e]{grid-template-columns:1fr;gap:var(--space-10)}.hero-right[data-v-bdf5b18e]{order:-1}.hero-stats[data-v-bdf5b18e]{gap:var(--space-8)}}.sr-only[data-v-b68b448c]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.about-grid[data-v-a165da5f]{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-16);align-items:center}.about-lead[data-v-a165da5f]{font-size:20px;color:var(--text-100);font-weight:500;line-height:1.5;margin-bottom:var(--space-8)}.about-text p[data-v-a165da5f]{font-size:15px;color:var(--text-500);line-height:1.8;margin-bottom:18px}.highlight-grid[data-v-a165da5f]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.highlight-card[data-v-a165da5f]{position:relative;padding:var(--space-7) 22px;-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));overflow:hidden;transition:transform var(--duration-slow) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-base)}.highlight-card[data-v-a165da5f]:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--hi-color);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}.highlight-card[data-v-a165da5f]:hover{border-color:color-mix(in srgb,var(--hi-color) 40%,var(--line))}.highlight-card[data-v-a165da5f]:hover:before{transform:scaleX(1)}.hl-icon[data-v-a165da5f]{font-size:28px;color:var(--hi-color);margin-bottom:var(--space-3_5);text-shadow:0 0 20px var(--hi-color)}.hl-title[data-v-a165da5f]{font-size:16px;font-weight:600;color:var(--text-100);margin-bottom:var(--space-1_5)}.hl-desc[data-v-a165da5f]{font-size:13px;color:var(--text-500);line-height:1.5}@media(max-width:900px){.about-grid[data-v-a165da5f]{grid-template-columns:1fr;gap:var(--space-10)}}@media(max-width:500px){.highlight-grid[data-v-a165da5f]{grid-template-columns:1fr}}.principle-marquee[data-v-c02737a9]{overflow:hidden;padding:clamp(28px,5vw,56px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none}.pm-track[data-v-c02737a9]{display:flex;align-items:center;width:max-content;animation:marquee-scroll 26s linear infinite;will-change:transform}.principle-marquee.is-paused .pm-track[data-v-c02737a9]{animation-play-state:paused}.pm-item[data-v-c02737a9]{display:flex;align-items:center;flex-shrink:0;padding:0 .5em;font-size:clamp(38px,7vw,84px);font-weight:800;line-height:1.2;letter-spacing:-.02em;white-space:nowrap}.pm-solid[data-v-c02737a9]{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pm-sep[data-v-c02737a9]{font-size:.35em;margin-left:1.4em;color:var(--c-primary);-webkit-text-stroke:0;-webkit-text-fill-color:var(--c-primary)}.principle-marquee.is-lite .pm-track[data-v-c02737a9]{animation:none;width:100%;flex-wrap:wrap;justify-content:center;gap:8px 0}@media(prefers-reduced-motion:reduce){.pm-track[data-v-c02737a9]{animation:none;width:100%;flex-wrap:wrap;justify-content:center}}.intro-curtain[data-v-3739b00a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;overflow:hidden;pointer-events:none}.ic-panel[data-v-3739b00a]{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.ic-panel--accent[data-v-3739b00a]{z-index:2;background:var(--accent-1);animation:ic-wipe-3739b00a .65s cubic-bezier(.77,0,.18,1) .5s forwards}.ic-panel--bg[data-v-3739b00a]{z-index:1;background:var(--bg-900);animation:ic-wipe-3739b00a .65s cubic-bezier(.77,0,.18,1) .68s forwards}@keyframes ic-wipe-3739b00a{to{transform:translate(100%)}}.ic-x[data-v-3739b00a]{position:absolute;left:50%;top:50%;z-index:3;width:clamp(64px,12vw,120px);height:clamp(64px,12vw,120px);transform:translate(-50%,-50%);color:var(--bg-900);opacity:0;animation:ic-logo-3739b00a .7s var(--ease-out) .08s forwards}@keyframes ic-logo-3739b00a{0%{opacity:0;transform:translate(-50%,-46%) scale(.7) rotate(-30deg)}40%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-52%) scale(1.05)}}.force-graph[data-v-fd032898]{position:relative;width:100%;max-width:1080px;margin:0 auto}.fg-canvas[data-v-fd032898]{display:block;width:100%;cursor:default;touch-action:none}.fg-legend[data-v-fd032898]{position:absolute;top:12px;right:12px;display:grid;grid-template-columns:repeat(2,auto);gap:6px 16px;padding:12px 14px;background:#0a0b1099;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));border:1px solid var(--line);border-radius:var(--radius-lg);font-family:var(--font-mono);font-size:11px;color:var(--text-500);pointer-events:none}.fg-legend-item[data-v-fd032898]{display:flex;align-items:center;gap:6px}.fg-dot[data-v-fd032898]{width:8px;height:8px;border-radius:50%}.fg-tooltip[data-v-fd032898]{position:fixed;z-index:100;min-width:180px;max-width:280px;padding:12px 14px;background:#0a0b10eb;-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));border:1px solid var(--line-strong);border-radius:var(--radius-lg);pointer-events:none;box-shadow:var(--shadow-lg)}.fgt-head[data-v-fd032898]{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-100);margin-bottom:6px}.fgt-dot[data-v-fd032898]{width:9px;height:9px;border-radius:50%}.fgt-level[data-v-fd032898]{margin-left:auto;font-size:10px;color:var(--c-tertiary);padding:2px 6px;border:1px solid rgba(255,170,0,.3);border-radius:4px}.fgt-desc[data-v-fd032898]{font-size:12px;color:var(--text-300);line-height:1.5}.fgt-projects[data-v-fd032898]{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:11px;color:var(--text-500);line-height:1.5}.fgt-projects-label[data-v-fd032898]{color:var(--accent-1);font-family:var(--font-mono);margin-right:4px}@media(max-width:600px){.fg-legend[data-v-fd032898]{grid-template-columns:repeat(2,auto);font-size:10px;gap:4px 10px}}[data-mode=light] .fg-legend[data-v-fd032898]{background:color-mix(in srgb,var(--bg-800) 85%,transparent)}[data-mode=light] .fg-tooltip[data-v-fd032898]{background:color-mix(in srgb,var(--bg-800) 95%,transparent);box-shadow:var(--shadow-md)}[data-mode=light] .fgt-level[data-v-fd032898]{border-color:color-mix(in srgb,var(--c-tertiary) 30%,transparent)}.section.skills[data-v-ce17b8f2]{padding-top:clamp(64px,7vh,88px);padding-bottom:clamp(42px,5vh,64px)}.section.skills .container[data-v-ce17b8f2]{display:flex;min-height:calc(100svh - clamp(64px,7vh,88px) - clamp(42px,5vh,64px));flex-direction:column;justify-content:center}.section-sub[data-v-ce17b8f2]{margin-bottom:clamp(12px,2vh,22px)}.skills-graph-wrap[data-v-ce17b8f2]{position:relative;width:100%}.skills-hint[data-v-ce17b8f2]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:clamp(4px,1vh,10px);font-family:var(--font-mono);font-size:12px;color:var(--text-700)}.sh-icon[data-v-ce17b8f2]{color:var(--c-cyan)}@media(max-width:768px){.section.skills .container[data-v-ce17b8f2]{min-height:auto}}.project-icon[data-v-bb49cb45]{display:inline-block;vertical-align:middle}.project-fan[data-v-e3793b88]{position:relative;width:100%;height:clamp(210px,32vh,310px);margin-top:clamp(8px,2vh,24px)}.fan-card[data-v-e3793b88]{--w: clamp(132px, 14.5vw, 200px);position:absolute;left:50%;bottom:clamp(-44px,-4.5vh,-20px);width:var(--w);height:calc(var(--w) * 1.42);padding:0;border:none;background:none;transform-origin:50% calc(100% + 360px);transform:translate(-50%) rotate(0) translateY(40px);opacity:0;transition:transform .7s var(--ease-spring),opacity .45s var(--ease-out)}.reveal.is-visible .fan-card[data-v-e3793b88]{opacity:1;transform:translate(-50%) rotate(var(--rot)) translateY(0);transition-delay:calc(.12s + var(--i) * 70ms),calc(.12s + var(--i) * 70ms)}.reveal.is-visible .fan-card[data-v-e3793b88]:hover,.reveal.is-visible .fan-card[data-v-e3793b88]:focus-visible{transform:translate(-50%) rotate(var(--rot)) translateY(-34px) scale(1.06);transition-delay:0s;transition-duration:.35s;z-index:40!important}.fan-card[data-v-e3793b88]:focus-visible{outline:2px solid color-mix(in srgb,var(--tile-accent) 76%,transparent);outline-offset:3px}.fc-body[data-v-e3793b88]{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:13px;overflow:hidden;border:1px solid color-mix(in srgb,var(--tile-accent) 32%,var(--line-strong));background:radial-gradient(circle at calc(var(--mx, .5) * 100%) -10%,color-mix(in srgb,var(--tile-accent) 18%,transparent),transparent 62%),linear-gradient(158deg,color-mix(in srgb,var(--bg-card) 97%,transparent),color-mix(in srgb,var(--bg-800) 94%,transparent));box-shadow:0 16px 38px #0006;transform:perspective(720px) rotateY(var(--rx, 0deg)) rotateX(var(--ry, 0deg));transition:transform .16s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.fan-card:hover .fc-body[data-v-e3793b88],.fan-card:focus-visible .fc-body[data-v-e3793b88]{border-color:color-mix(in srgb,var(--tile-accent) 72%,transparent);box-shadow:0 26px 60px #00000080,0 0 32px color-mix(in srgb,var(--tile-accent) 30%,transparent)}.fc-grating[data-v-e3793b88]{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(112deg,transparent 0 3px,color-mix(in srgb,var(--tile-accent) 9%,transparent) 3px 4px);opacity:.7;pointer-events:none}.fc-grating--live[data-v-e3793b88]{background:repeating-linear-gradient(112deg,transparent 0 3px,color-mix(in srgb,var(--tile-accent) 14%,transparent) 3px 4px,transparent 4px 10px,color-mix(in srgb,var(--tile-accent) 7%,transparent) 10px 11px);background-size:260% 260%;animation:grating-drift-e3793b88 9s linear infinite}@keyframes grating-drift-e3793b88{0%{background-position:0% 0%}to{background-position:100% 100%}}.fc-holo[data-v-e3793b88]{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:linear-gradient(115deg,transparent 24%,color-mix(in srgb,var(--tile-accent) 60%,transparent) 37%,rgba(110,210,255,.5) 45%,rgba(255,120,215,.42) 53%,rgba(255,224,110,.4) 60%,transparent 76%);background-size:240% 240%;background-position:calc(var(--mx, .5) * 100%) calc(var(--my, .5) * 100%);mix-blend-mode:color-dodge;opacity:.16;transition:opacity .3s var(--ease-out);pointer-events:none}.fan-card:hover .fc-holo[data-v-e3793b88],.fan-card:focus-visible .fc-holo[data-v-e3793b88]{opacity:.6}.fc-glare[data-v-e3793b88]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at calc(var(--mx, .5) * 100%) calc(var(--my, .5) * 100%),rgba(255,255,255,.24),transparent 58%);mix-blend-mode:soft-light;opacity:0;transition:opacity .3s var(--ease-out);pointer-events:none}.fan-card:hover .fc-glare[data-v-e3793b88],.fan-card:focus-visible .fc-glare[data-v-e3793b88]{opacity:1}.fc-content[data-v-e3793b88]{position:relative;z-index:1;height:100%;padding:14px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;color:var(--text-100)}.fc-num[data-v-e3793b88]{font-family:var(--font-mono);font-size:24px;font-weight:700;line-height:1;letter-spacing:.04em;color:color-mix(in srgb,var(--tile-accent) 84%,var(--text-500))}.fc-icon[data-v-e3793b88]{position:absolute;top:13px;right:14px;width:24px;height:24px;color:color-mix(in srgb,var(--tile-accent) 78%,var(--text-300))}.fc-name[data-v-e3793b88]{margin-top:auto;font-size:14px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fc-cat[data-v-e3793b88]{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-500)}.fc-corner[data-v-e3793b88]{position:absolute;bottom:10px;right:13px;font-size:13px;line-height:1;transform:rotate(180deg);color:color-mix(in srgb,var(--tile-accent) 62%,transparent)}.fc-infinity[data-v-e3793b88]{position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);font-size:calc(var(--w) * .42);font-weight:800;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent-1) 45%,transparent))}.fan-card--enter .fc-body[data-v-e3793b88]{border-color:color-mix(in srgb,var(--accent-1) 52%,var(--line-strong))}.fan-card--enter .fc-name[data-v-e3793b88]{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--accent-1)}.fc-arrow[data-v-e3793b88]{display:inline-block;transition:transform .25s var(--ease-out)}.fan-card--enter:hover .fc-arrow[data-v-e3793b88]{transform:translate(4px)}[data-mode=light] .fc-body[data-v-e3793b88]{box-shadow:0 12px 28px #0000001f}[data-mode=light] .fc-holo[data-v-e3793b88]{mix-blend-mode:overlay}[data-mode=light] .fan-card:hover .fc-body[data-v-e3793b88],[data-mode=light] .fan-card:focus-visible .fc-body[data-v-e3793b88]{box-shadow:0 20px 44px #00000029,0 0 26px color-mix(in srgb,var(--tile-accent) 20%,transparent)}@media(max-width:768px){.project-fan[data-v-e3793b88]{height:clamp(180px,27vh,240px)}.fan-card[data-v-e3793b88]{--w: clamp(100px, 24vw, 136px);transform-origin:50% calc(100% + 260px)}}@media(prefers-reduced-motion:reduce){.fan-card[data-v-e3793b88],.reveal.is-visible .fan-card[data-v-e3793b88]{transition:none;opacity:1;transform:translate(-50%) rotate(var(--rot))}.fc-body[data-v-e3793b88]{transition:none;transform:none}.fc-grating--live[data-v-e3793b88]{animation:none}}.projects-stage[data-v-1389abc3]{display:flex;flex-direction:column;align-items:center}.projects-stage[data-v-1389abc3] .section-tag{align-self:center}.projects-giant[data-v-1389abc3]{position:relative;margin:clamp(4px,1vh,12px) 0 clamp(6px,1.2vh,16px);font-size:clamp(54px,13vw,196px);font-weight:800;line-height:.95;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none}.pg-solid[data-v-1389abc3]{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pg-outline[data-v-1389abc3]{color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--text-300) 85%,transparent)}.pg-stamp[data-v-1389abc3]{position:absolute;top:-.08em;right:-.2em;padding:5px 10px;border:1px solid color-mix(in srgb,var(--accent-1) 46%,transparent);border-radius:4px;background:color-mix(in srgb,var(--accent-1) 8%,transparent);font-family:var(--font-mono);font-size:clamp(10px,1.1vw,14px);font-weight:500;letter-spacing:.26em;color:var(--accent-1);transform:rotate(7deg);white-space:nowrap}.projects-stage[data-v-1389abc3] .section-sub{text-align:center;margin-bottom:0}.project-fan-wrap[data-v-1389abc3]{width:100%}@media(min-width:769px){.section.projects[data-v-1389abc3]{min-height:100svh;justify-content:center;padding-top:clamp(54px,6vh,76px);padding-bottom:clamp(24px,3.5vh,42px)}.section.projects .container[data-v-1389abc3]{min-height:calc(100svh - clamp(54px,6vh,76px) - clamp(24px,3.5vh,42px));justify-content:center}}@media(max-width:768px){.projects-giant[data-v-1389abc3]{font-size:clamp(42px,11.5vw,80px)}.pg-stamp[data-v-1389abc3]{top:-1.4em;right:0}}.milestones[data-v-a1275fcb]{position:relative;display:flex;justify-content:space-between;margin-top:48px;padding:0 8px}.ms-line[data-v-a1275fcb]{position:absolute;left:0;right:0;top:calc(50% - 1px);height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent-1),var(--accent-2),var(--accent-1),transparent);background-size:200% 100%;animation:line-flow 6s linear infinite;opacity:.5}.ms-node[data-v-a1275fcb]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px}.ms-year[data-v-a1275fcb]{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--accent-1);letter-spacing:.04em}.ms-dot[data-v-a1275fcb]{width:18px;height:18px;color:var(--accent-1);background:var(--bg-900);border-radius:50%;padding:2px;filter:drop-shadow(0 0 8px var(--glow))}.ms-label[data-v-a1275fcb]{font-size:12px;color:var(--text-500);white-space:nowrap}@media(prefers-reduced-motion:reduce){.ms-line[data-v-a1275fcb]{animation:none}}@media(max-width:600px){.milestones[data-v-a1275fcb]{flex-wrap:wrap;gap:20px 0;padding:0}.ms-node[data-v-a1275fcb]{width:50%}.ms-line[data-v-a1275fcb]{display:none}.ms-label[data-v-a1275fcb]{white-space:normal;text-align:center}}.timeline[data-v-a1275fcb]{position:relative;margin-top:64px;padding-left:0;--axis-grow: 0}.timeline[data-v-a1275fcb]:before,.timeline[data-v-a1275fcb]:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%)}.timeline[data-v-a1275fcb]:before{background:var(--line);opacity:.5}.timeline[data-v-a1275fcb]:after{background:linear-gradient(to bottom,var(--accent-2),var(--accent-1));transform:translate(-50%) scaleY(var(--axis-grow));transform-origin:top center;box-shadow:0 0 12px color-mix(in srgb,var(--accent-1) 45%,transparent);transition:transform .12s linear}.timeline.is-static[data-v-a1275fcb]:after{transform:translate(-50%) scaleY(1)}.tl-item[data-v-a1275fcb]{position:relative;width:50%;padding:0 40px 56px 0}.tl-left[data-v-a1275fcb]{left:0;text-align:right}.tl-right[data-v-a1275fcb]{left:50%;padding:0 0 56px 40px;text-align:left}.tl-dot[data-v-a1275fcb]{position:absolute;top:6px;width:22px;height:22px;color:var(--c-purple);z-index:2;filter:drop-shadow(0 0 10px currentColor)}.tl-left .tl-dot[data-v-a1275fcb]{right:-11px}.tl-right .tl-dot[data-v-a1275fcb]{left:-11px}.tl-dot-1[data-v-a1275fcb]{color:var(--c-purple)}.tl-dot-2[data-v-a1275fcb]{color:var(--c-cyan)}.tl-dot-edu[data-v-a1275fcb]{color:var(--c-gold)}.tl-item.reveal.is-visible .tl-dot[data-v-a1275fcb]{animation:tl-dot-in-a1275fcb .7s var(--ease-spring) both,tl-dot-glow-a1275fcb 3.2s ease-in-out .7s infinite}@keyframes tl-dot-in-a1275fcb{0%{opacity:0;transform:rotate(-120deg) scale(.3)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes tl-dot-glow-a1275fcb{0%,to{filter:drop-shadow(0 0 6px currentColor)}50%{filter:drop-shadow(0 0 16px currentColor)}}@media(prefers-reduced-motion:reduce){.tl-item.reveal.is-visible .tl-dot[data-v-a1275fcb]{animation:none}}.tl-card[data-v-a1275fcb]{display:inline-block;text-align:left;max-width:100%;padding:24px 26px;background:var(--bg-card);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .3s,transform .4s var(--ease-out)}.tl-card[data-v-a1275fcb]:hover{border-color:var(--line-strong);transform:translateY(-2px)}.tl-left .tl-card[data-v-a1275fcb]{text-align:left}.tl-period[data-v-a1275fcb]{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--c-cyan);padding:3px 10px;border:1px solid color-mix(in srgb,var(--c-cyan) 25%,transparent);border-radius:999px;margin-bottom:12px}.tl-title[data-v-a1275fcb]{font-size:19px;font-weight:700;color:var(--text-100);margin-bottom:4px}.tl-company[data-v-a1275fcb]{font-size:14px;color:var(--text-300);margin-bottom:8px}.tl-note[data-v-a1275fcb]{font-size:12px;color:var(--text-700);line-height:1.5;margin-bottom:14px;font-style:italic}.tl-duties[data-v-a1275fcb]{list-style:none;padding:0}.tl-duties li[data-v-a1275fcb]{position:relative;padding-left:18px;font-size:13px;color:var(--text-500);line-height:1.7;margin-bottom:6px}.tl-duties li[data-v-a1275fcb]:before{content:"▸";position:absolute;left:0;color:var(--c-purple)}.tl-card-edu[data-v-a1275fcb]{background:color-mix(in srgb,var(--c-gold) 4%,transparent);border-color:color-mix(in srgb,var(--c-gold) 20%,transparent)}@media(max-width:768px){.timeline[data-v-a1275fcb]:before,.timeline[data-v-a1275fcb]:after{left:16px}.tl-item[data-v-a1275fcb],.tl-left[data-v-a1275fcb],.tl-right[data-v-a1275fcb]{width:100%;left:0;padding:0 0 40px 40px;text-align:left}.tl-left .tl-card[data-v-a1275fcb],.tl-right .tl-card[data-v-a1275fcb]{text-align:left}.tl-left .tl-dot[data-v-a1275fcb],.tl-right .tl-dot[data-v-a1275fcb]{left:5px;right:auto}}.resume-dl[data-v-2bbb73c5]{position:relative;display:inline-block}.resume-dl-btn[data-v-2bbb73c5]{position:relative;padding-left:26px;padding-right:26px}.resume-dl-btn:hover .rdl-btn-icon[data-v-2bbb73c5]{color:var(--accent-1)}.resume-dl-btn.is-active[data-v-2bbb73c5]{border-color:var(--accent-1);color:var(--accent-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-1) 15%,transparent)}.resume-dl-btn.is-active .rdl-btn-icon[data-v-2bbb73c5]{color:var(--accent-1)}.rdl-btn-icon[data-v-2bbb73c5]{font-size:14px;transition:transform .3s var(--ease-out),color .25s var(--ease-out)}.resume-dl-btn.is-active .rdl-btn-icon[data-v-2bbb73c5]{transform:rotate(180deg)}.resume-popover[data-v-2bbb73c5]{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:340px;padding:var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius-2xl);background:color-mix(in srgb,var(--bg-800) 96%,transparent);box-shadow:0 20px 60px #00000073,0 0 0 1px color-mix(in srgb,var(--accent-1) 10%,transparent);z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.rp-lang-row[data-v-2bbb73c5]{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--line)}.rp-lang-label[data-v-2bbb73c5]{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-700)}.rp-lang-toggle[data-v-2bbb73c5]{display:flex;gap:2px;background:color-mix(in srgb,var(--bg-700) 40%,transparent);border-radius:var(--radius-full);padding:2px}.rp-lang-btn[data-v-2bbb73c5]{padding:4px 14px;border:none;border-radius:var(--radius-full);background:transparent;font-family:var(--font-mono);font-size:12px;color:var(--text-600);cursor:pointer;transition:all .2s var(--ease-out)}.rp-lang-btn.is-on[data-v-2bbb73c5]{background:var(--accent-1);color:#fff}.rp-lang-btn[data-v-2bbb73c5]:not(.is-on):hover{color:var(--text-200)}.rp-formats[data-v-2bbb73c5]{display:flex;flex-direction:column;gap:var(--space-2)}.rp-item[data-v-2bbb73c5]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--bg-700) 30%,transparent);border:1px solid transparent;border-radius:var(--radius-xl);cursor:pointer;transition:border-color .2s var(--ease-out),background .2s var(--ease-out),transform .2s var(--ease-out)}.rp-item[data-v-2bbb73c5]:hover{border-color:color-mix(in srgb,var(--accent-1) 40%,transparent);background:color-mix(in srgb,var(--accent-1) 6%,var(--bg-700) 30%);transform:translate(3px)}.rp-item[data-v-2bbb73c5]:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-1) 70%,transparent);outline-offset:1px}.rp-item[data-v-2bbb73c5]:active{transform:translate(0) scale(.98)}.rp-icon[data-v-2bbb73c5]{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent-1) 8%,transparent);color:var(--accent-1);transition:background .2s var(--ease-out),color .2s var(--ease-out)}.rp-item:hover .rp-icon[data-v-2bbb73c5]{background:color-mix(in srgb,var(--accent-1) 16%,transparent)}.rp-info[data-v-2bbb73c5]{flex:1;display:flex;flex-direction:column;gap:1px}.rp-name[data-v-2bbb73c5]{font-size:14px;font-weight:600;color:var(--text-100);font-family:var(--font-mono)}.rp-desc[data-v-2bbb73c5]{font-size:11px;color:var(--text-600);line-height:1.3}.rp-arrow[data-v-2bbb73c5]{font-size:14px;color:var(--text-700);transition:color .2s var(--ease-out),transform .2s var(--ease-out)}.rp-item:hover .rp-arrow[data-v-2bbb73c5]{color:var(--accent-1);transform:translate(2px)}.popover-enter-active[data-v-2bbb73c5]{transition:opacity .2s var(--ease-out),transform .25s var(--ease-spring)}.popover-leave-active[data-v-2bbb73c5]{transition:opacity .15s var(--ease-out),transform .15s var(--ease-out)}.popover-enter-from[data-v-2bbb73c5]{opacity:0;transform:translate(-50%) translateY(8px) scale(.96)}.popover-leave-to[data-v-2bbb73c5]{opacity:0;transform:translate(-50%) translateY(4px) scale(.97)}@media(max-width:400px){.resume-popover[data-v-2bbb73c5]{width:calc(100vw - 32px);left:50%;right:auto}}.contact-card[data-v-a69e3666]{text-align:center;padding:var(--space-16) var(--space-8);border:1px solid var(--line-strong);border-radius:var(--radius-3xl);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));position:relative;overflow:hidden}.contact-card[data-v-a69e3666]:before{content:"";position:absolute;top:-50%;left:50%;width:600px;height:600px;transform:translate(-50%);background:radial-gradient(circle,color-mix(in srgb,var(--accent-2) 15%,transparent),transparent 60%);pointer-events:none}.contact-watermark[data-v-a69e3666]{top:50%;left:50%;transform:translate(-50%,-50%);opacity:.05}.contact-title[data-v-a69e3666]{font-size:clamp(36px,6vw,64px);font-weight:700;line-height:1.1;margin-bottom:var(--space-5);position:relative}.accent[data-v-a69e3666]{display:inline-block}.contact-sub[data-v-a69e3666]{font-size:17px;color:var(--text-500);max-width:480px;margin:0 auto var(--space-8);position:relative}.contact-status[data-v-a69e3666]{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px var(--space-4);border:1px solid color-mix(in srgb,var(--accent-1) 30%,transparent);background:color-mix(in srgb,var(--accent-1) 5%,transparent);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:12px;color:var(--c-primary);margin-bottom:var(--space-10);position:relative}.cs-led[data-v-a69e3666]{width:var(--space-2);height:var(--space-2);border-radius:50%;background:var(--c-primary);box-shadow:0 0 10px var(--c-primary);animation:pulse 2s infinite}.contact-info[data-v-a69e3666]{display:flex;justify-content:center;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-10);position:relative}.ci-item[data-v-a69e3666]{display:flex;flex-direction:column;align-items:center;gap:var(--space-1_5);min-width:200px;padding:var(--space-5) 22px;background:color-mix(in srgb,var(--bg-800) 40%,transparent);transition:transform .3s var(--ease-out),border-color .3s var(--ease-out),box-shadow .3s var(--ease-out)}.ci-item--action[data-v-a69e3666]{cursor:pointer;text-align:center;position:relative;overflow:hidden}.ci-item--action[data-v-a69e3666]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 0%,color-mix(in srgb,var(--accent-1) 16%,transparent) 50%,transparent 100%);background-size:220% 100%;background-position:-60% 0;opacity:0;transition:opacity .3s var(--ease-out);pointer-events:none}.ci-item--action[data-v-a69e3666]:hover{border-color:color-mix(in srgb,var(--accent-1) 45%,var(--line-strong));box-shadow:0 12px 30px color-mix(in srgb,var(--accent-1) 12%,transparent)}.ci-item--action[data-v-a69e3666]:hover:before{opacity:1;animation:shimmer 1.4s linear infinite}.ci-item--action[data-v-a69e3666]:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-1) 70%,transparent);outline-offset:3px}.ci-label[data-v-a69e3666]{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-700)}.ci-value[data-v-a69e3666]{font-size:16px;color:var(--text-100);font-family:var(--font-mono)}.ci-item--action:hover .ci-value[data-v-a69e3666]{color:var(--c-primary)}.ci-sub[data-v-a69e3666]{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--text-700);transition:color .2s var(--ease-out)}.ci-sub[data-v-a69e3666]:hover{color:var(--accent-1)}.contact-actions[data-v-a69e3666]{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.contact-cta[data-v-a69e3666]{position:relative}.contact-toast[data-v-a69e3666]{position:fixed;left:50%;bottom:var(--space-10);transform:translate(-50%);z-index:1200;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2_5) var(--space-5);border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--accent-1) 40%,transparent);background:color-mix(in srgb,var(--bg-800) 92%,transparent);box-shadow:0 12px 40px #0006;font-family:var(--font-mono);font-size:13px;color:var(--text-100)}.toast-x[data-v-a69e3666]{width:var(--space-4);height:var(--space-4);color:var(--c-primary)}.toast-enter-active[data-v-a69e3666],.toast-leave-active[data-v-a69e3666]{transition:opacity .28s var(--ease-out),transform .28s var(--ease-spring)}.toast-enter-from[data-v-a69e3666],.toast-leave-to[data-v-a69e3666]{opacity:0;transform:translate(-50%) translateY(var(--space-4))}.footer[data-v-a69e3666]{margin-top:var(--space-20);padding:var(--space-8) 0 var(--space-4);border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);font-family:var(--font-mono);font-size:12px;color:var(--text-700)}@media(prefers-reduced-motion:reduce){.ci-item--action[data-v-a69e3666]:hover:before{animation:none}}@media(max-width:600px){.contact-info[data-v-a69e3666]{gap:var(--space-4)}.ci-item[data-v-a69e3666]{min-width:0;width:100%}.footer[data-v-a69e3666]{flex-direction:column;text-align:center}}:root{--bg-900: #0a0d0a;--bg-800: #0f1310;--bg-700: #161c17;--bg-card: rgba(18, 20, 28, .55);--accent-1: #4ade80;--accent-2: #84cc16;--accent-3: #f59e0b;--text-100: #f0f5ed;--text-300: #c2cec3;--text-500: #8a978c;--text-700: #56655a;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--glow: rgba(74, 222, 128, .35);--grad-accent: linear-gradient(135deg, #4ade80 0%, #84cc16 100%);--grad-text: linear-gradient(120deg, #4ade80 0%, #84cc16 60%, #f59e0b 100%);--c-primary: var(--accent-1);--c-secondary: var(--accent-2);--c-tertiary: var(--accent-3);--font-sans: "Space Grotesk", "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Menlo", monospace;--maxw: 1200px;--nav-h: 64px;--space-0: 0;--space-px: 1px;--space-0_5: 2px;--space-1: 4px;--space-1_5: 6px;--space-2: 8px;--space-2_5: 10px;--space-3: 12px;--space-3_5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .24);--shadow-md: 0 8px 24px rgba(0, 0, 0, .32);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .42);--shadow-xl: 0 30px 80px rgba(0, 0, 0, .55);--shadow-glow: 0 0 12px color-mix(in srgb, var(--c-primary) 45%, transparent);--shadow-accent: 0 12px 32px color-mix(in srgb, var(--c-primary) 30%, transparent);--text-2xs: 400 10px/1.4;--text-xs: 400 11px/1.5;--text-sm: 500 12px/1.5;--text-md: 400 13px/1.6;--text-base: 400 14px/1.7;--text-lg: 400 15px/1.7;--text-xl: 400 17px/1.6;--text-2xl: 700 19px/1.4;--text-3xl: 500 20px/1.5;--text-4xl: 700 24px/1.3;--text-5xl: 700 28px/1.2;--text-6xl: 700 34px/1.1;--text-display-sm: 700 clamp(36px, 6vw, 64px)/1.1;--text-display: 700 clamp(34px, 6vw, 72px)/1.1;--text-display-lg: 700 clamp(40px, 6.5vw, 80px)/1.2;--text-giant: 800 clamp(54px, 13vw, 196px)/.95;--blur-sm: 8px;--blur-md: 12px;--blur-lg: 16px;--blur-xl: 20px;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--duration-slower: .7s;--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--section-pad-top: clamp(64px, 8vh, 96px);--section-pad-bottom: clamp(48px, 6vh, 72px);--section-pad-top-fit: clamp(48px, 6vh, 72px);--section-pad-bottom-fit: clamp(32px, 4vh, 48px)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);scroll-snap-type:y proximity;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg-900);color:var(--text-100);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s var(--ease-out),color .4s var(--ease-out)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(ellipse 80% 50% at 20% 0%,color-mix(in srgb,var(--accent-1) 14%,transparent),transparent 60%),radial-gradient(ellipse 60% 50% at 80% 30%,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 60%),radial-gradient(ellipse 50% 40% at 50% 90%,color-mix(in srgb,var(--accent-3) 10%,transparent),transparent 60%),var(--bg-900);pointer-events:none;transition:background .4s var(--ease-out)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 80%)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}::selection{background:color-mix(in srgb,var(--accent-2) 40%,transparent);color:var(--text-100)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-900)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent-1),var(--accent-2));border-radius:10px;border:2px solid var(--bg-900)}[data-mode=light] body{-webkit-font-smoothing:auto}[data-mode=light] ::-webkit-scrollbar-track{background:var(--bg-800)}[data-mode=light]{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 12px rgba(0, 0, 0, .06);--shadow-md: 0 8px 24px rgba(0, 0, 0, .1);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .14);--shadow-xl: 0 30px 80px rgba(0, 0, 0, .18)}[data-mode=light] .terminal-window,[data-mode=light] .term-panel{box-shadow:var(--shadow-xl),0 0 0 1px color-mix(in srgb,var(--accent-1) 12%,transparent)}[data-mode=light] .highlight-card{border-color:color-mix(in srgb,var(--text-100) 10%,transparent)}[data-mode=light] .highlight-card:hover{box-shadow:var(--shadow-lg)}[data-mode=light] .tl-card{box-shadow:var(--shadow-sm)}[data-mode=light] .btn-primary{color:#fff}[data-mode=light] .btn-ghost{background:#00000008}[data-mode=light] .nav-progress{box-shadow:0 0 8px color-mix(in srgb,var(--accent-2) 40%,transparent)}[data-mode=light] .ts-menu{box-shadow:var(--shadow-xl)}[data-mode=light] .term-fab{box-shadow:var(--shadow-sm)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{position:relative;scroll-snap-align:start;scroll-snap-stop:always;padding:var(--section-pad-top) 0 var(--section-pad-bottom);min-height:100svh;display:flex;flex-direction:column;justify-content:center}.section--fit{padding-top:var(--section-pad-top-fit);padding-bottom:var(--section-pad-bottom-fit)}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.glass{background:color-mix(in srgb,var(--bg-800) 70%,transparent);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--line)}.glass-md{background:color-mix(in srgb,var(--bg-800) 75%,transparent);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--line)}.glass-xl{background:color-mix(in srgb,var(--bg-800) 80%,transparent);backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid var(--line)}.lift{transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.section-tag{display:inline-flex;align-self:flex-start;flex:0 0 auto;width:fit-content;max-width:100%;align-items:center;gap:var(--space-2);font:var(--text-sm) var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--c-primary);padding:var(--space-1_5) var(--space-3_5);border:1px solid var(--line-strong);border-radius:var(--radius-full);background:color-mix(in srgb,var(--c-primary) 6%,transparent);margin-bottom:var(--space-6)}.section-tag:before{content:"";width:var(--space-1_5);height:var(--space-1_5);border-radius:50%;background:var(--c-primary);box-shadow:0 0 8px var(--c-primary);animation:pulse 2s infinite}.section-title{font:var(--text-display) var(--font-sans);letter-spacing:-.02em;margin-bottom:var(--space-5)}.section-title .accent{position:relative;display:inline-block;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-title .accent:after{content:attr(data-text) / "";position:absolute;left:.05em;top:.08em;z-index:-1;width:max-content;white-space:nowrap;background:none;-webkit-text-stroke:1px color-mix(in srgb,var(--c-primary) 45%,transparent);opacity:.6;pointer-events:none}.title-outline{color:transparent;-webkit-text-stroke:1.5px var(--text-300)}.x-watermark{position:absolute;pointer-events:none;color:var(--c-primary);opacity:.04;z-index:0;width:clamp(320px,45vw,640px);height:clamp(320px,45vw,640px)}.split-char{display:inline-block;opacity:0}.reveal.is-visible .split-char{animation:char-rise .6s var(--ease-spring) forwards;animation-delay:calc(.08s + var(--char-i, 0) * .04s)}@media(prefers-reduced-motion:reduce){.split-char{opacity:1;animation:none!important}}.section-sub{font-size:17px;color:var(--text-500);max-width:640px;margin-bottom:clamp(28px,4vh,48px)}.mono{font-family:var(--font-mono)}.reveal{opacity:0;transform:translate(var(--parallax-x, 0px),calc(40px + var(--parallax-y, 0px)));transition:transform .22s cubic-bezier(.33,0,0,1)}.reveal.is-visible{animation:revealIn .8s var(--ease-spring) forwards;transition:transform .22s cubic-bezier(.33,0,0,1)}@keyframes revealIn{0%{opacity:0;transform:translate(var(--parallax-x, 0px),calc(40px + var(--parallax-y, 0px)))}to{opacity:1;transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px))}}.parallax-layer{will-change:transform;transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px));transition:transform .22s cubic-bezier(.33,0,0,1)}.reveal.is-visible.reveal-delay-1{animation-delay:.1s}.reveal.is-visible.reveal-delay-2{animation-delay:.2s}.reveal.is-visible.reveal-delay-3{animation-delay:.3s}.reveal.is-visible.reveal-delay-4{animation-delay:.4s}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:999px;font-size:15px;font-weight:500;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.btn-primary{background:var(--grad-accent);color:var(--bg-900);font-weight:600;box-shadow:0 8px 32px color-mix(in srgb,var(--accent-1) 30%,transparent)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px color-mix(in srgb,var(--accent-2) 45%,transparent)}.btn-ghost{border:1px solid var(--line-strong);color:var(--text-100);background:color-mix(in srgb,var(--text-100) 3%,transparent)}.btn-ghost:hover{border-color:var(--accent-1);color:var(--accent-1);transform:translateY(-2px)}@media(max-width:768px){.section{padding:80px 0}.container{padding:0 20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes glow-breathe{0%,to{box-shadow:0 0 20px color-mix(in srgb,var(--c-primary) 30%,transparent)}50%{box-shadow:0 0 40px color-mix(in srgb,var(--c-secondary) 50%,transparent)}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes char-rise{0%{opacity:0;transform:translateY(.55em) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes cursor-label-in{0%{opacity:0}to{opacity:1}}@keyframes line-flow{0%{background-position:0% 0}to{background-position:200% 0}}@keyframes tile-flash{0%{opacity:0}30%{opacity:.85}to{opacity:0}}.text-flow{background:var(--grad-text);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 6s linear infinite}
