.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-e22beb48]{position:fixed;top:0;left:0;right:0;z-index:800;height:var(--nav-h);transition:background .3s,border-color .3s;border-bottom:1px solid transparent}.navbar.scrolled[data-v-e22beb48]{background:color-mix(in srgb,var(--bg-900) 92%,transparent);border-bottom-color:var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}.nav-progress[data-v-e22beb48]{position:absolute;top:0;left:0;height:2px;background:var(--c-primary);transition:width .1s linear}.nav-inner[data-v-e22beb48]{height:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo[data-v-e22beb48]{font-family:var(--font-mono);font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.nl-morph[data-v-e22beb48]{position:relative;width:22px;height:22px;flex:0 0 auto}.nl-x[data-v-e22beb48]{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-e22beb48]{transform:rotate(-8deg) scale(1.12);color:var(--c-primary)}.nl-back[data-v-e22beb48]{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-e22beb48]{opacity:0;transform:rotate(-90deg) scale(.45)}.nav-logo.is-back .nl-back[data-v-e22beb48]{opacity:1;transform:rotate(0) scale(1)}.nav-logo.is-back:hover .nl-back[data-v-e22beb48]{transform:translate(-3px) scale(1.05)}.nl-name[data-v-e22beb48]{color:var(--text-100);transition:color .3s}.nav-logo.is-back .nl-name[data-v-e22beb48]{color:var(--c-primary)}.nl-icon[data-v-e22beb48]{width:15px;height:15px}.ts-mode-icon[data-v-e22beb48]{width:17px;height:17px}.nav-links[data-v-e22beb48]{display:flex;align-items:center;gap:4px}.nav-links a[data-v-e22beb48]{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-e22beb48]:after{content:"";position:absolute;bottom:2px;left:14px;right:14px;height:1px;background:var(--c-primary);transform:scaleX(0);transition:transform .3s var(--ease-out)}.nav-links a[data-v-e22beb48]:hover{color:var(--text-100)}.nav-links a[data-v-e22beb48]:hover:after{transform:scaleX(1)}.nav-links a.active[data-v-e22beb48]{color:var(--c-primary)}.nav-links a.active[data-v-e22beb48]:after{transform:scaleX(1)}.nav-lang[data-v-e22beb48]{margin-left:10px;padding:7px var(--space-3_5);border:1px solid var(--line-strong);border-radius:var(--radius-xs);font-size:13px;color:var(--text-300);font-family:var(--font-mono);letter-spacing:.06em;display:flex;align-items:center;gap:6px;transition:all .2s}.nav-lang[data-v-e22beb48]:hover{border-color:var(--text-100);color:var(--text-100)}.theme-switcher[data-v-e22beb48]{position:relative;display:flex;align-items:center;gap:8px;margin-left:8px}.ts-swatch[data-v-e22beb48]{position:relative;width:34px;height:34px;border-radius:var(--radius-xs);border:1px solid var(--line-strong);background:transparent;display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease-out),border-color .2s}.ts-swatch[data-v-e22beb48]:hover{transform:scale(1.06);border-color:var(--swatch)}.ts-swatch-dot[data-v-e22beb48]{width:16px;height:16px;border-radius:var(--radius-xs);background:var(--swatch)}.ts-mode[data-v-e22beb48]{width:34px;height:34px;border-radius:var(--radius-xs);border:1px solid var(--line-strong);background:transparent;font-size:16px;color:var(--text-300);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease-out),color .2s,border-color .2s}.ts-mode[data-v-e22beb48]:hover{transform:scale(1.06);color:var(--text-100);border-color:var(--text-100)}.ts-menu[data-v-e22beb48]{position:absolute;top:calc(100% + 12px);right:0;min-width:200px;padding:var(--space-2_5);background:color-mix(in srgb,var(--bg-800) 96%,transparent);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:10}.ts-menu-title[data-v-e22beb48]{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-e22beb48]{display:flex;align-items:center;gap:10px;width:100%;padding:9px var(--space-2_5);border-radius:var(--radius-xs);font-size:13px;color:var(--text-300);transition:background .2s,color .2s}.ts-menu-item[data-v-e22beb48]:hover{background:color-mix(in srgb,var(--text-100) 6%,transparent);color:var(--text-100)}.ts-menu-item.active[data-v-e22beb48]{background:color-mix(in srgb,var(--text-100) 9%,transparent);color:var(--text-100)}.ts-menu-dot[data-v-e22beb48]{width:14px;height:14px;border-radius:var(--radius-xs);border:1px solid var(--line-strong);flex-shrink:0}.ts-menu-name[data-v-e22beb48]{flex:1;text-align:left}.ts-menu-check[data-v-e22beb48]{color:var(--text-300);font-size:14px}.ts-menu-hint[data-v-e22beb48]{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-e22beb48],.menu-leave-active[data-v-e22beb48]{transition:opacity .2s,transform .2s var(--ease-out)}.menu-enter-from[data-v-e22beb48],.menu-leave-to[data-v-e22beb48]{opacity:0;transform:translateY(-8px) scale(.96)}.nav-burger[data-v-e22beb48]{display:none;flex-direction:column;gap:5px;padding:var(--space-1_5)}.nav-burger span[data-v-e22beb48]{width:22px;height:2px;background:var(--text-100);transition:transform .3s,opacity .3s}.nav-burger.open span[data-v-e22beb48]:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger.open span[data-v-e22beb48]:nth-child(2){opacity:0}.nav-burger.open span[data-v-e22beb48]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.nav-burger[data-v-e22beb48]{display:flex}.nav-links[data-v-e22beb48]{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);max-height:calc(100vh - var(--nav-h));overflow-y:auto}.nav-links.open[data-v-e22beb48]{transform:translateY(0)}.nav-links a[data-v-e22beb48]{width:100%;padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:13px}.nav-links a[data-v-e22beb48]:after{display:none}.nav-lang[data-v-e22beb48]{margin:14px 0 0}}@media(min-width:769px)and (max-width:1024px){.nav-links a[data-v-e22beb48]{padding:var(--space-2) var(--space-2_5);font-size:13px}.nav-lang[data-v-e22beb48]{margin-left:6px;padding:6px var(--space-2_5);font-size:12px}.theme-switcher[data-v-e22beb48]{margin-left:4px;gap:6px}.ts-swatch[data-v-e22beb48],.ts-mode[data-v-e22beb48]{width:30px;height:30px}}.section-nav[data-v-c1de0e9e]{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-c1de0e9e]{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0}.section-nav__track[data-v-c1de0e9e]{position:absolute;left:-10px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--line);overflow:hidden}.section-nav__fill[data-v-c1de0e9e]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--c-primary);transform-origin:top;transform:scaleY(0);transition:transform .15s linear}.section-nav__dot[data-v-c1de0e9e]{position:relative;width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0}.section-nav__dot-core[data-v-c1de0e9e]{width:7px;height:7px;border-radius:0;background:var(--text-700);transition:all .3s var(--ease-out)}.section-nav__dot:hover .section-nav__dot-core[data-v-c1de0e9e]{background:var(--text-300);transform:scale(1.3)}.section-nav__dot.active .section-nav__dot-core[data-v-c1de0e9e]{background:var(--c-primary);transform:scale(1.6) rotate(45deg)}.section-nav__dot-label[data-v-c1de0e9e]{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) 96%,transparent);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;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-c1de0e9e]{opacity:1;transform:translateY(-50%) translate(0)}.section-nav__btn[data-v-c1de0e9e]{width:44px;height:44px;border-radius:var(--radius-xs);border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg-800) 94%,transparent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-out);padding:0}.section-nav__btn[data-v-c1de0e9e]:hover{border-color:var(--text-100);background:color-mix(in srgb,var(--text-100) 8%,transparent);transform:scale(1.05)}.section-nav__btn[data-v-c1de0e9e]:active{transform:scale(.95)}.section-nav__btn.is-hidden[data-v-c1de0e9e]{opacity:0;visibility:hidden;pointer-events:none}.nav-arrow[data-v-c1de0e9e]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;position:relative}.nav-arrow-line[data-v-c1de0e9e]{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-c1de0e9e]{border-color:var(--text-100)}.nav-arrow--down .nav-arrow-line[data-v-c1de0e9e]{transform:rotate(135deg)}.back-to-top[data-v-c1de0e9e]{position:fixed;right:2rem;bottom:92px;z-index:50;width:48px;height:48px;border-radius:var(--radius-xs);border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg-800) 94%,transparent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-out);padding:0}.back-to-top[data-v-c1de0e9e]:hover{border-color:var(--text-100);background:color-mix(in srgb,var(--text-100) 8%,transparent);transform:scale(1.05)}.back-to-top[data-v-c1de0e9e]:active{transform:scale(.95)}.btt-icon[data-v-c1de0e9e]{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.btt-arrow[data-v-c1de0e9e]{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-c1de0e9e]{border-color:var(--text-100)}.fade-slide-enter-active[data-v-c1de0e9e],.fade-slide-leave-active[data-v-c1de0e9e]{transition:all .4s var(--ease-out)}.fade-slide-enter-from[data-v-c1de0e9e],.fade-slide-leave-to[data-v-c1de0e9e]{opacity:0;transform:translateY(-50%) translate(20px)}.fade-enter-active[data-v-c1de0e9e],.fade-leave-active[data-v-c1de0e9e]{transition:all .3s var(--ease-out)}.fade-enter-from[data-v-c1de0e9e],.fade-leave-to[data-v-c1de0e9e]{opacity:0;transform:translateY(10px)}.section-nav__mobile-indicator[data-v-c1de0e9e]{display:none;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-family:var(--font-mono);font-size:11px;line-height:1;color:var(--text-500);-webkit-user-select:none;user-select:none;min-width:24px;min-height:32px;contain:content;will-change:contents}.snmi-current[data-v-c1de0e9e]{font-size:14px;font-weight:700;color:var(--c-primary);min-width:1.2em;text-align:center;transition:color .2s var(--ease-out)}.snmi-sep[data-v-c1de0e9e]{font-size:9px;color:var(--text-700)}.snmi-total[data-v-c1de0e9e]{font-size:11px;color:var(--text-700)}@media(max-width:768px){.section-nav[data-v-c1de0e9e]{right:.75rem;gap:6px}.section-nav__dots[data-v-c1de0e9e]{display:none}.section-nav__mobile-indicator[data-v-c1de0e9e]{display:flex}.section-nav__btn[data-v-c1de0e9e]{width:36px;height:36px}.nav-arrow-line[data-v-c1de0e9e]{width:8px;height:8px}.back-to-top[data-v-c1de0e9e]{right:.75rem;bottom:76px;width:40px;height:40px}.btt-arrow[data-v-c1de0e9e]{width:8px;height:8px}}@media(max-width:380px){.section-nav[data-v-c1de0e9e]{right:.5rem;gap:4px}.section-nav__btn[data-v-c1de0e9e]{width:32px;height:32px}.back-to-top[data-v-c1de0e9e]{right:.5rem;bottom:68px;width:36px;height:36px}.snmi-current[data-v-c1de0e9e]{font-size:12px}}.energy-field[data-v-dc4578a3]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.ef-canvas[data-v-dc4578a3]{width:100%;height:100%;display:block}.ef-fallback[data-v-dc4578a3]{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-dc4578a3 18s ease-in-out infinite alternate}@keyframes ef-shift-dc4578a3{0%{transform:scale(1) rotate(0)}to{transform:scale(1.15) rotate(3deg)}}.ef-mask[data-v-dc4578a3]{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-7a17cd8d]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.terminal-window[data-v-bc459967]{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-bc459967]{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-bc459967]{width:12px;height:12px;border-radius:50%}.tw-dot-r[data-v-bc459967]{background:var(--text-700)}.tw-dot-y[data-v-bc459967]{background:var(--text-500)}.tw-dot-g[data-v-bc459967]{background:var(--text-300)}.tw-title[data-v-bc459967]{margin-left:var(--space-2_5);font-size:12px;color:var(--text-500);letter-spacing:.02em}.tw-status[data-v-bc459967]{margin-left:auto;display:flex;align-items:center;gap:var(--space-1_5);font-size:11px;color:var(--text-700)}.tw-led[data-v-bc459967]{width:7px;height:7px;border-radius:0;background:var(--c-primary)}.tw-led.blink[data-v-bc459967]{animation:blink .8s infinite}.tw-body[data-v-bc459967]{padding:22px 20px;min-height:220px;font-size:14px;line-height:1.9}.tw-line[data-v-bc459967]{display:flex;gap:var(--space-2_5);align-items:baseline;word-break:break-word}.tw-cmd[data-v-bc459967]{color:var(--text-100)}.tw-out[data-v-bc459967]{color:var(--text-300);padding-left:var(--space-5)}.tw-out .tw-text[data-v-bc459967]{color:var(--c-primary)}.tw-prompt[data-v-bc459967]{color:var(--accent-2);font-weight:700}.tw-cmd .tw-text[data-v-bc459967]{color:var(--c-primary)}.tw-cursor[data-v-bc459967],.tw-cursor-static[data-v-bc459967]{color:var(--c-primary);animation:blink 1s infinite;margin-left:var(--space-0_5)}.tw-cmd-final[data-v-bc459967]{margin-top:var(--space-1);color:var(--accent-2)}.hero[data-v-3b4872e9]{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-3b4872e9],.hero-layer-mid[data-v-3b4872e9]{position:absolute;top:-240px;right:0;bottom:-240px;left:0;z-index:0;opacity:.32;filter:grayscale(1)}.hero-layer-mid[data-v-3b4872e9]{z-index:1;opacity:.22}.hero-content[data-v-3b4872e9]{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-3b4872e9]{display:inline-flex;align-items:center;gap:var(--space-2_5);padding:0 0 var(--space-2);border:none;border-bottom:1px solid var(--line-strong);border-radius:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-500);background:none;margin-bottom:28px}.hero-badge-led[data-v-3b4872e9]{width:7px;height:7px;border-radius:0;background:var(--c-primary);animation:pulse 2.4s ease-in-out infinite}.hero-title[data-v-3b4872e9]{font-family:var(--font-serif);font-weight:500;font-size:clamp(40px,6.5vw,84px);line-height:1.1;letter-spacing:-.02em;margin-bottom:var(--space-6)}.ht-line[data-v-3b4872e9]{display:block}.ht-accent[data-v-3b4872e9]{display:inline-block;font-style:italic;color:var(--c-primary)}.hero-role[data-v-3b4872e9]{font-size:15px;color:var(--text-500);margin-bottom:var(--space-9);font-family:var(--font-mono);letter-spacing:.04em}.hero-cta[data-v-3b4872e9]{display:flex;gap:var(--space-3_5);margin-bottom:var(--space-14);flex-wrap:wrap}.arrow[data-v-3b4872e9]{transition:transform .3s var(--ease-out)}.btn-primary:hover .arrow[data-v-3b4872e9]{transform:translate(4px)}.hero-stats[data-v-3b4872e9]{display:flex;gap:var(--space-12);flex-wrap:wrap;padding-top:var(--space-6);border-top:1px solid var(--line-strong)}.hs-item[data-v-3b4872e9]{display:flex;flex-direction:column;gap:var(--space-1)}.hs-value[data-v-3b4872e9]{font-size:34px;font-weight:500;font-family:var(--font-serif);line-height:1;color:var(--text-100);font-variant-numeric:tabular-nums}.hs-label[data-v-3b4872e9]{font-size:12px;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-500)}.hero-right[data-v-3b4872e9]{display:flex;justify-content:center}@media(max-width:900px){.hero-content[data-v-3b4872e9]{grid-template-columns:1fr;gap:var(--space-10)}.hero-right[data-v-3b4872e9]{order:-1}.hero-stats[data-v-3b4872e9]{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-7b9cc91d]{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-16);align-items:center}.about-lead[data-v-7b9cc91d]{font-size:20px;color:var(--text-100);font-weight:500;line-height:1.5;margin-bottom:var(--space-8)}.about-text p[data-v-7b9cc91d]{font-size:15px;color:var(--text-500);line-height:1.8;margin-bottom:18px}.highlight-grid[data-v-7b9cc91d]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);counter-reset:hl}.highlight-card[data-v-7b9cc91d]{position:relative;padding:var(--space-7) 22px;border-radius:var(--radius-sm);overflow:hidden;counter-increment:hl;transition:transform var(--duration-slow) var(--ease-out),border-color var(--duration-base)}.highlight-card[data-v-7b9cc91d]:after{content:"0" counter(hl);position:absolute;top:var(--space-4);right:var(--space-4);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--text-700)}.highlight-card[data-v-7b9cc91d]:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--c-primary);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}.highlight-card[data-v-7b9cc91d]:hover{border-color:var(--line-strong)}.highlight-card[data-v-7b9cc91d]:hover:before{transform:scaleX(1)}.hl-icon[data-v-7b9cc91d]{font-size:20px;color:var(--c-primary);margin-bottom:var(--space-3_5)}.hl-title[data-v-7b9cc91d]{font-size:16px;font-weight:600;color:var(--text-100);margin-bottom:var(--space-1_5)}.hl-desc[data-v-7b9cc91d]{font-size:13px;color:var(--text-500);line-height:1.6}@media(max-width:900px){.about-grid[data-v-7b9cc91d]{grid-template-columns:1fr;gap:var(--space-10)}}@media(max-width:500px){.highlight-grid[data-v-7b9cc91d]{grid-template-columns:1fr}}.logoloop[data-v-f57e42ab]{position:relative;overflow:hidden;--logoloop-gap: 32px;--logoloop-logoHeight: 28px;--logoloop-fadeColorAuto: var(--bg-900)}.logoloop--vertical[data-v-f57e42ab]{height:100%;display:inline-block}.logoloop--scale-hover[data-v-f57e42ab]{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}.logoloop__track[data-v-f57e42ab]{display:flex;width:max-content;will-change:transform;-webkit-user-select:none;user-select:none;position:relative;z-index:0}.logoloop--vertical .logoloop__track[data-v-f57e42ab]{flex-direction:column;height:max-content;width:100%}.logoloop__list[data-v-f57e42ab]{display:flex;align-items:center;margin:0;padding:0;list-style:none}.logoloop--vertical .logoloop__list[data-v-f57e42ab]{flex-direction:column}.logoloop__item[data-v-f57e42ab]{flex:0 0 auto;margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);line-height:1}.logoloop--vertical .logoloop__item[data-v-f57e42ab]{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__item[data-v-f57e42ab]:last-child{margin-right:var(--logoloop-gap)}.logoloop--vertical .logoloop__item[data-v-f57e42ab]:last-child{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__node[data-v-f57e42ab]{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:calc(var(--logoloop-logoHeight) * .5);font-weight:600;letter-spacing:.02em;white-space:nowrap;color:var(--text-300);padding:.3em .8em;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-800) 60%,transparent);transition:transform .3s cubic-bezier(.4,0,.2,1),color .3s var(--ease-out),border-color .3s var(--ease-out)}.logoloop__node--icon[data-v-f57e42ab]{padding:.5em;background:transparent;border:none}.logoloop__node--icon img[data-v-f57e42ab]{height:var(--logoloop-logoHeight);width:auto;display:block;object-fit:contain;-webkit-user-select:none;user-select:none}.logoloop--scale-hover .logoloop__item[data-v-f57e42ab]{overflow:visible}.logoloop--scale-hover .logoloop__item:hover .logoloop__node[data-v-f57e42ab]{transform:scale(1.15);transform-origin:center center;color:var(--c-primary);border-color:color-mix(in srgb,var(--c-primary) 50%,var(--line-strong))}.logoloop__link[data-v-f57e42ab]{display:inline-flex;align-items:center;text-decoration:none;border-radius:var(--radius-md);transition:opacity .2s ease}.logoloop__link[data-v-f57e42ab]:hover{opacity:.85}.logoloop__link[data-v-f57e42ab]:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.logoloop--fade[data-v-f57e42ab]:before,.logoloop--fade[data-v-f57e42ab]:after{content:"";position:absolute;top:0;bottom:0;width:clamp(24px,8%,120px);pointer-events:none;z-index:10}.logoloop--fade[data-v-f57e42ab]:before{left:0;background:linear-gradient(to right,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--fade[data-v-f57e42ab]:after{right:0;background:linear-gradient(to left,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--vertical.logoloop--fade[data-v-f57e42ab]:before,.logoloop--vertical.logoloop--fade[data-v-f57e42ab]:after{left:0;right:0;width:100%;height:clamp(24px,8%,120px)}.logoloop--vertical.logoloop--fade[data-v-f57e42ab]:before{top:0;bottom:auto;background:linear-gradient(to bottom,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--vertical.logoloop--fade[data-v-f57e42ab]:after{bottom:0;top:auto;background:linear-gradient(to top,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--static .logoloop__track[data-v-f57e42ab]{transform:translateZ(0)!important;width:100%;flex-wrap:wrap;justify-content:center}.logoloop--static .logoloop__item[data-v-f57e42ab]{margin-right:var(--logoloop-gap);margin-bottom:var(--logoloop-gap)}@media(prefers-reduced-motion:reduce){.logoloop__track[data-v-f57e42ab]{transform:translateZ(0)!important}.logoloop__node[data-v-f57e42ab]{transition:none!important}}@media(max-width:768px){.logoloop__node[data-v-f57e42ab]{font-size:calc(var(--logoloop-logoHeight) * .42);padding:.25em .6em}.logoloop__node--icon img[data-v-f57e42ab]{height:calc(var(--logoloop-logoHeight) * .85)}}@media(max-width:380px){.logoloop__node[data-v-f57e42ab]{font-size:calc(var(--logoloop-logoHeight) * .38);padding:.2em .5em}.logoloop__node--icon img[data-v-f57e42ab]{height:calc(var(--logoloop-logoHeight) * .75)}}.layered-marquee[data-v-5dfc7780]{position:relative;overflow:hidden;padding:clamp(32px,5vw,64px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:clamp(20px,3.5vw,44px)}.lm-layer[data-v-5dfc7780]{position:relative;z-index:1}.lm-layer--slogan[data-v-5dfc7780]{z-index:2}.layered-marquee.reveal.is-visible .lm-layer--brands[data-v-5dfc7780]{animation:lm-in-right-5dfc7780 .7s var(--ease-out) both}.layered-marquee.reveal.is-visible .lm-layer--slogan[data-v-5dfc7780]{animation:lm-in-left-5dfc7780 .7s var(--ease-out) both;animation-delay:.12s}@keyframes lm-in-right-5dfc7780{0%{opacity:0;transform:translate(64px)}to{opacity:1;transform:none}}@keyframes lm-in-left-5dfc7780{0%{opacity:0;transform:translate(-64px)}to{opacity:1;transform:none}}.pm-item[data-v-5dfc7780]{display:flex;align-items:center;flex-shrink:0;padding:0 .5em;font-family:var(--font-serif);font-size:clamp(40px,7vw,84px);font-weight:500;line-height:1.2;letter-spacing:-.01em;white-space:nowrap}.pm-solid[data-v-5dfc7780]{color:var(--text-100)}.pm-item.title-outline[data-v-5dfc7780]{-webkit-text-stroke-width:1.5px}.pm-sep[data-v-5dfc7780]{font-size:.35em;margin-left:1.4em;color:var(--c-primary);-webkit-text-stroke:0;-webkit-text-fill-color:var(--c-primary)}@media(prefers-reduced-motion:reduce){.layered-marquee.reveal.is-visible .lm-layer--brands[data-v-5dfc7780],.layered-marquee.reveal.is-visible .lm-layer--slogan[data-v-5dfc7780]{animation:none}}.layered-marquee[data-v-5dfc7780] .logoloop--static .logoloop__track{width:100%;justify-content:center}.layered-marquee[data-v-5dfc7780] .logoloop--static .logoloop__list{width:100%;flex-wrap:wrap;justify-content:center}@media(max-width:768px){.layered-marquee[data-v-5dfc7780]{padding:clamp(20px,4vw,32px) 0;gap:clamp(14px,3vw,24px)}.pm-item[data-v-5dfc7780]{font-size:clamp(28px,5vw,48px)}.pm-sep[data-v-5dfc7780]{margin-left:1em}}@media(max-width:380px){.pm-item[data-v-5dfc7780]{font-size:clamp(22px,4vw,32px);padding:0 .35em}.pm-sep[data-v-5dfc7780]{margin-left:.8em}}.intro-curtain[data-v-7de2b9d7]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;overflow:hidden;pointer-events:none}.ic-panel[data-v-7de2b9d7]{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.ic-panel--accent[data-v-7de2b9d7]{z-index:2;background:var(--text-100);animation:ic-wipe-7de2b9d7 .65s cubic-bezier(.77,0,.18,1) .5s forwards}.ic-panel--bg[data-v-7de2b9d7]{z-index:1;background:var(--bg-900);animation:ic-wipe-7de2b9d7 .65s cubic-bezier(.77,0,.18,1) .68s forwards}@keyframes ic-wipe-7de2b9d7{to{transform:translate(100%)}}.ic-x[data-v-7de2b9d7]{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-7de2b9d7 .7s var(--ease-out) .08s forwards}@keyframes ic-logo-7de2b9d7{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)}}.ledger[data-v-e886143b]{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start;margin-top:clamp(8px,1.5vh,18px)}.ledger-rail[data-v-e886143b]{position:sticky;top:calc(var(--nav-h) + 32px);border-top:1px solid var(--line-strong);padding-top:var(--space-4)}.rail-head[data-v-e886143b]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-4)}.rail-kicker[data-v-e886143b]{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-500)}.rail-readout[data-v-e886143b]{display:inline-flex;align-items:baseline;gap:2px;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.ro-window[data-v-e886143b]{display:block;height:1.2em;overflow:hidden}.ro-stack[data-v-e886143b]{display:block;transform:translateY(calc(var(--ro-i, 0) * -1.2em));transition:transform var(--duration-slower) var(--ease-out)}.ro-val[data-v-e886143b]{display:block;height:1.2em;line-height:1.2em;color:var(--c-primary)}.ro-sep[data-v-e886143b],.ro-total[data-v-e886143b]{color:var(--text-700)}.rail-index[data-v-e886143b]{position:relative}.rail-spine[data-v-e886143b]{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line-strong)}.rail-fill[data-v-e886143b]{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--c-primary);transform-origin:top center;transform:scaleY(var(--cursor-p, 0));transition:transform var(--duration-slower) var(--ease-out)}.rail-glider[data-v-e886143b]{position:absolute;left:0;top:0;width:100%;height:var(--cursor-h, 0px);transform:translateY(var(--cursor-y, 0px));background:color-mix(in srgb,var(--text-100) 4%,transparent);border-left:2px solid var(--c-primary);pointer-events:none;transition:transform var(--duration-slower) var(--ease-out),height var(--duration-base) var(--ease-out)}.rail-list[data-v-e886143b]{position:relative;z-index:1;list-style:none;display:flex;flex-direction:column;padding-left:16px}.rail-item[data-v-e886143b]{display:grid;grid-template-columns:26px 1fr auto;align-items:baseline;gap:var(--space-2);width:100%;text-align:left;padding:var(--space-2) 0;border-bottom:1px solid var(--line);color:var(--text-500);transition:color var(--duration-base) var(--ease-out)}.rail-item[data-v-e886143b]:hover{color:var(--text-100)}.rail-idx[data-v-e886143b],.rail-num[data-v-e886143b]{font-family:var(--font-mono);font-size:11px;color:var(--text-700);font-variant-numeric:tabular-nums;transition:color var(--duration-base) var(--ease-out)}.rail-label[data-v-e886143b]{font-size:14px;line-height:1.3}.rail-item.active[data-v-e886143b]{color:var(--text-100)}.rail-item.active .rail-idx[data-v-e886143b]{color:var(--c-primary)}.rail-item[data-v-e886143b]:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.rail-foot[data-v-e886143b]{display:flex;align-items:baseline;gap:6px;margin-top:var(--space-4);font-family:var(--font-mono);font-size:11px;color:var(--text-700)}.rail-total[data-v-e886143b]{color:var(--c-primary);font-size:14px;font-variant-numeric:tabular-nums}.ledger-body[data-v-e886143b]{display:flex;flex-direction:column;gap:clamp(28px,4vh,44px)}.ledger-group[data-v-e886143b]{scroll-margin-top:calc(var(--nav-h) + 24px)}.lg-head[data-v-e886143b]{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-2)}.lg-idx[data-v-e886143b]{font-family:var(--font-mono);font-size:13px;color:var(--c-primary);font-variant-numeric:tabular-nums}.lg-title[data-v-e886143b]{font-family:var(--font-serif);font-size:clamp(20px,2.4vw,26px);font-weight:500;letter-spacing:-.01em;color:var(--text-100)}.lg-rule[data-v-e886143b]{flex:1;height:1px;background:var(--line-strong)}.lg-count[data-v-e886143b]{font-family:var(--font-mono);font-size:12px;color:var(--text-700);font-variant-numeric:tabular-nums}.lg-list[data-v-e886143b]{list-style:none}.lg-row[data-v-e886143b]{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.5fr) minmax(0,1.25fr) 84px;align-items:baseline;gap:var(--space-4);padding:var(--space-3_5) var(--space-3) var(--space-3_5) var(--space-3);border-bottom:1px solid var(--line);border-left:2px solid transparent;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.lg-row[data-v-e886143b]:hover,.lg-row[data-v-e886143b]:focus-visible{background:color-mix(in srgb,var(--text-100) 4%,transparent);border-left-color:var(--c-primary);outline:none}.lg-row[data-v-e886143b]:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-primary) 45%,transparent)}.lr-name[data-v-e886143b]{font-size:15px;font-weight:600;color:var(--text-100);letter-spacing:-.005em}.lr-role[data-v-e886143b]{font-size:13px;color:var(--text-500);line-height:1.5}.lr-evidence[data-v-e886143b]{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--text-700);line-height:1.5}.lr-ev-label[data-v-e886143b]{color:var(--text-500);margin-right:6px;opacity:.75}.lr-level[data-v-e886143b]{display:inline-flex;gap:4px;align-self:center;justify-self:end}.tick[data-v-e886143b]{width:14px;height:4px;background:var(--line-strong);transition:background var(--duration-base) var(--ease-out)}.tick.on[data-v-e886143b]{background:var(--c-primary)}.ledger-legend[data-v-e886143b]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4) var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line-strong);font-family:var(--font-mono);font-size:11px;color:var(--text-500)}.ll-title[data-v-e886143b]{letter-spacing:.16em;text-transform:uppercase;color:var(--text-700)}.ll-item[data-v-e886143b]{display:inline-flex;align-items:center;gap:var(--space-2)}.ll-item .lr-level[data-v-e886143b]{justify-self:auto}@media(max-width:900px){.ledger[data-v-e886143b]{grid-template-columns:1fr;gap:var(--space-8)}.ledger-rail[data-v-e886143b]{position:static;display:none}}@media(max-width:768px){.lg-row[data-v-e886143b]{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--space-1_5);padding:var(--space-3_5) var(--space-2)}.lr-name[data-v-e886143b]{grid-column:1}.lr-level[data-v-e886143b]{grid-column:2;grid-row:1}.lr-role[data-v-e886143b],.lr-evidence[data-v-e886143b]{grid-column:1 / -1}}.section.skills[data-v-13a670c0]{padding-top:clamp(64px,7vh,88px);padding-bottom:clamp(56px,7vh,88px);isolation:isolate}.section.skills[data-v-13a670c0]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--bg-900) 80%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%)}.section.skills .container[data-v-13a670c0]{min-height:auto}.section-sub[data-v-13a670c0]{margin-bottom:clamp(24px,3.5vh,40px)}.project-icon[data-v-f44456ae]{display:inline-block;vertical-align:middle}.project-fan[data-v-0f333e0b]{position:relative;width:100%;height:clamp(210px,32vh,310px);margin-top:clamp(8px,2vh,24px)}.fan-card[data-v-0f333e0b]{--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-0f333e0b]{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-0f333e0b]:hover,.reveal.is-visible .fan-card[data-v-0f333e0b]: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-0f333e0b]:focus-visible{outline:2px solid color-mix(in srgb,var(--tile-accent) 76%,transparent);outline-offset:3px}.fc-body[data-v-0f333e0b]{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-0f333e0b],.fan-card:focus-visible .fc-body[data-v-0f333e0b]{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-0f333e0b]{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-0f333e0b]{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-0f333e0b 9s linear infinite}@keyframes grating-drift-0f333e0b{0%{background-position:0% 0%}to{background-position:100% 100%}}.fc-holo[data-v-0f333e0b]{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-0f333e0b],.fan-card:focus-visible .fc-holo[data-v-0f333e0b]{opacity:.6}.fc-glare[data-v-0f333e0b]{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-0f333e0b],.fan-card:focus-visible .fc-glare[data-v-0f333e0b]{opacity:1}.fc-content[data-v-0f333e0b]{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-0f333e0b]{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-0f333e0b]{position:absolute;top:13px;right:14px;width:24px;height:24px;color:color-mix(in srgb,var(--tile-accent) 78%,var(--text-300))}.fc-badge[data-v-0f333e0b]{position:absolute;top:42px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:color-mix(in srgb,var(--tile-accent) 70%,var(--text-300));opacity:.85;pointer-events:none}.fc-badge svg[data-v-0f333e0b]{width:14px;height:14px}.fc-badge--live[data-v-0f333e0b]{color:color-mix(in srgb,var(--tile-accent) 88%,var(--text-100));opacity:1}.fc-name[data-v-0f333e0b]{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-0f333e0b]{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-500)}.fc-corner[data-v-0f333e0b]{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-0f333e0b]{position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);font-size:calc(var(--w) * .42);font-weight:500;font-family:var(--font-serif);line-height:1;color:var(--text-100)}.fan-card--enter .fc-body[data-v-0f333e0b]{border-color:var(--line-strong)}.fan-card--enter .fc-name[data-v-0f333e0b]{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--text-500)}.fc-arrow[data-v-0f333e0b]{display:inline-block;transition:transform .25s var(--ease-out)}.fan-card--enter:hover .fc-arrow[data-v-0f333e0b]{transform:translate(4px)}[data-mode=light] .fc-body[data-v-0f333e0b]{box-shadow:0 12px 28px #0000001f}[data-mode=light] .fc-holo[data-v-0f333e0b]{mix-blend-mode:overlay}[data-mode=light] .fan-card:hover .fc-body[data-v-0f333e0b],[data-mode=light] .fan-card:focus-visible .fc-body[data-v-0f333e0b]{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-0f333e0b]{height:clamp(180px,27vh,240px)}.fan-card[data-v-0f333e0b]{--w: clamp(100px, 24vw, 136px);transform-origin:50% calc(100% + 260px)}}@media(prefers-reduced-motion:reduce){.fan-card[data-v-0f333e0b],.reveal.is-visible .fan-card[data-v-0f333e0b]{transition:none;opacity:1;transform:translate(-50%) rotate(var(--rot))}.fc-body[data-v-0f333e0b]{transition:none;transform:none}.fc-grating--live[data-v-0f333e0b]{animation:none}}.projects-stage[data-v-a344bcc6]{display:flex;flex-direction:column;align-items:center}.projects-stage[data-v-a344bcc6] .section-tag{align-self:center}.projects-giant[data-v-a344bcc6]{position:relative;margin:clamp(4px,1vh,12px) 0 clamp(6px,1.2vh,16px);font-family:var(--font-serif);font-size:clamp(54px,13vw,196px);font-weight:500;line-height:.95;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none}.pg-solid[data-v-a344bcc6]{color:var(--text-100)}.pg-outline[data-v-a344bcc6]{color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--text-500) 90%,transparent)}.pg-stamp[data-v-a344bcc6]{position:absolute;top:-1.5em;right:0;padding:4px 10px;border:1px solid color-mix(in srgb,var(--c-primary) 45%,transparent);border-radius:var(--radius-xs);background:transparent;font-family:var(--font-mono);font-size:clamp(10px,1.1vw,14px);font-weight:500;letter-spacing:.26em;color:var(--c-primary);transform:rotate(0);white-space:nowrap}.projects-stage[data-v-a344bcc6] .section-sub{text-align:center;margin-bottom:0}.project-fan-wrap[data-v-a344bcc6]{width:100%}@media(min-width:769px){.section.projects[data-v-a344bcc6]{min-height:100svh;justify-content:center;padding-top:clamp(54px,6vh,76px);padding-bottom:clamp(24px,3.5vh,42px)}.section.projects .container[data-v-a344bcc6]{min-height:calc(100svh - clamp(54px,6vh,76px) - clamp(24px,3.5vh,42px));justify-content:center}}@media(max-width:768px){.projects-giant[data-v-a344bcc6]{font-size:clamp(42px,11.5vw,80px)}.pg-stamp[data-v-a344bcc6]{top:-1.4em;right:0}}.milestones[data-v-6d1d3e0c]{position:relative;display:flex;justify-content:space-between;margin-top:48px;padding:0 8px}.ms-line[data-v-6d1d3e0c]{position:absolute;left:0;right:0;top:calc(50% - 1px);height:1px;background:var(--line-strong);opacity:.8}.ms-node[data-v-6d1d3e0c]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px}.ms-year[data-v-6d1d3e0c]{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--text-100);letter-spacing:.04em;font-variant-numeric:tabular-nums}.ms-dot[data-v-6d1d3e0c]{width:14px;height:14px;color:var(--c-primary);background:var(--bg-900);border-radius:0;padding:2px}.ms-label[data-v-6d1d3e0c]{font-size:12px;color:var(--text-500);white-space:nowrap}@media(max-width:600px){.milestones[data-v-6d1d3e0c]{flex-wrap:wrap;gap:20px 0;padding:0}.ms-node[data-v-6d1d3e0c]{width:50%}.ms-line[data-v-6d1d3e0c]{display:none}.ms-label[data-v-6d1d3e0c]{white-space:normal;text-align:center}}.timeline[data-v-6d1d3e0c]{position:relative;margin-top:64px;padding-left:0;--axis-grow: 0}.timeline[data-v-6d1d3e0c]:before,.timeline[data-v-6d1d3e0c]:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%)}.timeline[data-v-6d1d3e0c]:before{background:var(--line);opacity:.6}.timeline[data-v-6d1d3e0c]:after{background:var(--c-primary);transform:translate(-50%) scaleY(var(--axis-grow));transform-origin:top center;transition:transform .12s linear}.timeline.is-static[data-v-6d1d3e0c]:after{transform:translate(-50%) scaleY(1)}.tl-item[data-v-6d1d3e0c]{position:relative;width:50%;padding:0 40px 56px 0}.tl-left[data-v-6d1d3e0c]{left:0;text-align:right}.tl-right[data-v-6d1d3e0c]{left:50%;padding:0 0 56px 40px;text-align:left}.tl-dot[data-v-6d1d3e0c]{position:absolute;top:6px;width:16px;height:16px;color:var(--text-300);z-index:2}.tl-left .tl-dot[data-v-6d1d3e0c]{right:-8px}.tl-right .tl-dot[data-v-6d1d3e0c]{left:-8px}.tl-dot-0[data-v-6d1d3e0c]{color:var(--accent-1)}.tl-dot-1[data-v-6d1d3e0c]{color:var(--accent-2)}.tl-dot-2[data-v-6d1d3e0c]{color:var(--accent-3)}.tl-dot-edu[data-v-6d1d3e0c]{color:var(--accent-2)}.tl-item.reveal.is-visible .tl-dot[data-v-6d1d3e0c]{animation:tl-dot-in-6d1d3e0c .6s var(--ease-out) both}@keyframes tl-dot-in-6d1d3e0c{0%{opacity:0;transform:rotate(-90deg) scale(.4)}to{opacity:1;transform:rotate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.tl-item.reveal.is-visible .tl-dot[data-v-6d1d3e0c]{animation:none}}.tl-card[data-v-6d1d3e0c]{display:inline-block;text-align:left;max-width:100%;padding:24px 26px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color .3s,transform .4s var(--ease-out)}.tl-card[data-v-6d1d3e0c]:hover{border-color:var(--line-strong);transform:translateY(-2px)}.tl-left .tl-card[data-v-6d1d3e0c]{text-align:left}.tl-period[data-v-6d1d3e0c]{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--c-primary);padding:0 0 var(--space-1);border:none;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:12px;font-variant-numeric:tabular-nums}.tl-title[data-v-6d1d3e0c]{font-size:19px;font-weight:700;color:var(--text-100);margin-bottom:4px}.tl-company[data-v-6d1d3e0c]{font-size:14px;color:var(--text-300);margin-bottom:8px}.tl-note[data-v-6d1d3e0c]{font-size:12px;color:var(--text-700);line-height:1.5;margin-bottom:14px;font-style:italic}.tl-duties[data-v-6d1d3e0c]{list-style:none;padding:0}.tl-duties li[data-v-6d1d3e0c]{position:relative;padding-left:18px;font-size:13px;color:var(--text-500);line-height:1.7;margin-bottom:6px}.tl-duties li[data-v-6d1d3e0c]:before{content:"-";position:absolute;left:0;color:var(--c-primary)}.tl-card-edu[data-v-6d1d3e0c]{background:color-mix(in srgb,var(--text-100) 3%,transparent);border-color:var(--line-strong)}@media(max-width:768px){.timeline[data-v-6d1d3e0c]:before,.timeline[data-v-6d1d3e0c]:after{left:16px}.tl-item[data-v-6d1d3e0c],.tl-left[data-v-6d1d3e0c],.tl-right[data-v-6d1d3e0c]{width:100%;left:0;padding:0 0 40px 40px;text-align:left}.tl-left .tl-card[data-v-6d1d3e0c],.tl-right .tl-card[data-v-6d1d3e0c]{text-align:left}.tl-left .tl-dot[data-v-6d1d3e0c],.tl-right .tl-dot[data-v-6d1d3e0c]{left:5px;right:auto}}.resume-dl[data-v-25df6e4b]{position:relative;display:inline-block}.resume-dl-btn[data-v-25df6e4b]{position:relative;padding-left:26px;padding-right:26px}.resume-dl-btn:hover .rdl-btn-icon[data-v-25df6e4b]{color:var(--accent-1)}.resume-dl-btn.is-active[data-v-25df6e4b]{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-25df6e4b]{color:var(--accent-1)}.rdl-btn-icon[data-v-25df6e4b]{font-size:14px;transition:transform .3s var(--ease-out),color .25s var(--ease-out)}.resume-dl-btn.is-active .rdl-btn-icon[data-v-25df6e4b]{transform:rotate(180deg)}.resume-popover[data-v-25df6e4b]{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-25df6e4b]{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-25df6e4b]{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-700)}.rp-lang-toggle[data-v-25df6e4b]{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-25df6e4b]{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-25df6e4b]{background:var(--accent-1);color:#fff}.rp-lang-btn[data-v-25df6e4b]:not(.is-on):hover{color:var(--text-200)}.rp-formats[data-v-25df6e4b]{display:flex;flex-direction:column;gap:var(--space-2)}.rp-item[data-v-25df6e4b]{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-25df6e4b]: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-25df6e4b]:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-1) 70%,transparent);outline-offset:1px}.rp-item[data-v-25df6e4b]:active{transform:translate(0) scale(.98)}.rp-icon[data-v-25df6e4b]{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-25df6e4b]{background:color-mix(in srgb,var(--accent-1) 16%,transparent)}.rp-info[data-v-25df6e4b]{flex:1;display:flex;flex-direction:column;gap:1px}.rp-name[data-v-25df6e4b]{font-size:14px;font-weight:600;color:var(--text-100);font-family:var(--font-mono)}.rp-desc[data-v-25df6e4b]{font-size:11px;color:var(--text-600);line-height:1.3}.rp-arrow[data-v-25df6e4b]{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-25df6e4b]{color:var(--accent-1);transform:translate(2px)}.popover-enter-active[data-v-25df6e4b]{transition:opacity .2s var(--ease-out),transform .25s var(--ease-spring)}.popover-leave-active[data-v-25df6e4b]{transition:opacity .15s var(--ease-out),transform .15s var(--ease-out)}.popover-enter-from[data-v-25df6e4b]{opacity:0;transform:translate(-50%) translateY(8px) scale(.96)}.popover-leave-to[data-v-25df6e4b]{opacity:0;transform:translate(-50%) translateY(4px) scale(.97)}@media(max-width:400px){.resume-popover[data-v-25df6e4b]{width:calc(100vw - 32px);left:50%;right:auto}}.contact-card[data-v-10dbb46b]{text-align:center;padding:var(--space-16) var(--space-8);border:1px solid var(--line-strong);border-radius:var(--radius-2xl);position:relative;overflow:hidden}.contact-watermark[data-v-10dbb46b]{top:50%;left:50%;transform:translate(-50%,-50%);opacity:.04}.contact-title[data-v-10dbb46b]{font-family:var(--font-serif);font-weight:500;font-size:clamp(36px,6vw,64px);line-height:1.06;letter-spacing:-.015em;margin-bottom:var(--space-5);position:relative}.accent[data-v-10dbb46b]{display:inline-block;font-style:italic}.contact-sub[data-v-10dbb46b]{font-size:17px;color:var(--text-500);max-width:480px;margin:0 auto var(--space-8);position:relative}.contact-status[data-v-10dbb46b]{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 0 var(--space-1);border:none;border-bottom:1px solid var(--line-strong);background:none;border-radius:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--text-500);margin-bottom:var(--space-10);position:relative}.cs-led[data-v-10dbb46b]{width:7px;height:7px;border-radius:0;background:var(--c-primary);animation:pulse 2.4s ease-in-out infinite}.contact-info[data-v-10dbb46b]{display:flex;justify-content:center;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-10);position:relative}.ci-item[data-v-10dbb46b]{display:flex;flex-direction:column;align-items:center;gap:var(--space-1_5);min-width:200px;padding:var(--space-5) 22px;background:transparent;border-radius:var(--radius-sm);transition:transform .3s var(--ease-out),border-color .3s var(--ease-out)}.ci-item--action[data-v-10dbb46b]{cursor:pointer;text-align:center;position:relative;overflow:hidden}.ci-item--action[data-v-10dbb46b]:before{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--c-primary);transform:scaleX(0);transition:transform .35s var(--ease-out);pointer-events:none}.ci-item--action[data-v-10dbb46b]:hover{border-color:var(--line-strong)}.ci-item--action[data-v-10dbb46b]:hover:before{transform:scaleX(1)}.ci-item--action[data-v-10dbb46b]:focus-visible{outline:2px solid var(--text-100);outline-offset:3px}.ci-label[data-v-10dbb46b]{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-700)}.ci-value[data-v-10dbb46b]{font-size:16px;color:var(--text-100);font-family:var(--font-mono)}.ci-item--action:hover .ci-value[data-v-10dbb46b]{color:var(--c-primary);text-underline-offset:4px}.ci-sub[data-v-10dbb46b]{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-10dbb46b]:hover{color:var(--c-primary)}.contact-actions[data-v-10dbb46b]{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.contact-cta[data-v-10dbb46b]{position:relative}.contact-toast[data-v-10dbb46b]{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-xs);border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg-800) 96%,transparent);box-shadow:var(--shadow-lg);font-family:var(--font-mono);font-size:13px;color:var(--text-100)}.toast-x[data-v-10dbb46b]{width:var(--space-4);height:var(--space-4);color:var(--c-primary)}.toast-enter-active[data-v-10dbb46b],.toast-leave-active[data-v-10dbb46b]{transition:opacity .28s var(--ease-out),transform .28s var(--ease-out)}.toast-enter-from[data-v-10dbb46b],.toast-leave-to[data-v-10dbb46b]{opacity:0;transform:translate(-50%) translateY(var(--space-4))}.footer[data-v-10dbb46b]{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(max-width:600px){.contact-info[data-v-10dbb46b]{gap:var(--space-4)}.ci-item[data-v-10dbb46b]{min-width:0;width:100%}.footer[data-v-10dbb46b]{flex-direction:column;text-align:center}}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-900: #faf9f6;--bg-800: #f2f0ea;--bg-700: #e7e3da;--bg-card: rgba(255, 255, 255, .72);--accent-1: #96601a;--accent-2: #6f4410;--accent-3: #b8873a;--text-100: #1a1815;--text-300: #45423c;--text-500: #6e6a61;--text-700: #757061;--line: rgba(26, 24, 21, .14);--line-strong: rgba(26, 24, 21, .28);--glow: rgba(150, 96, 26, .16);--grad-accent: linear-gradient(135deg, #96601a 0%, #6f4410 100%);--grad-text: linear-gradient(120deg, #96601a 0%, #b8873a 100%);--c-primary: var(--accent-1);--c-secondary: var(--accent-2);--c-tertiary: var(--accent-3);--c-cyan: var(--accent-3);--c-purple: var(--accent-2);--c-gold: var(--accent-3);--surface-100: var(--bg-800);--font-sans: "Space Grotesk Variable", "Space Grotesk", "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-serif: "Newsreader Variable", "Newsreader", "Noto Serif SC", Georgia, "Songti SC", "SimSun", serif;--font-mono: "JetBrains Mono Variable", "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: 0;--radius-sm: 1px;--radius-md: 2px;--radius-lg: 3px;--radius-xl: 4px;--radius-2xl: 6px;--radius-3xl: 8px;--radius-full: 999px;--shadow-xs: 0 1px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 0 rgba(0, 0, 0, .04);--shadow-md: 0 2px 10px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .07);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .1);--shadow-glow: none;--shadow-accent: none;--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: 500 clamp(36px, 6vw, 64px)/1.08;--text-display: 500 clamp(34px, 6vw, 72px)/1.05;--text-display-lg: 500 clamp(40px, 6.5vw, 80px)/1.06;--text-giant: 500 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(.16, 1, .3, 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%}html.is-auto-scrolling{scroll-snap-type:none}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:linear-gradient(180deg,color-mix(in srgb,var(--bg-800) 55%,var(--bg-900)) 0%,var(--bg-900) 42%,var(--bg-900) 100%);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:72px 72px;opacity:.5;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 20%,transparent 88%);mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 20%,transparent 88%)}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(--c-primary) 26%,transparent);color:var(--text-100)}.mono,[class*=period],[class*=year],[class*=value]{font-variant-numeric:tabular-nums}::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:color-mix(in srgb,var(--text-700) 70%,transparent);border-radius:0;border:2px solid var(--bg-900)}::-webkit-scrollbar-thumb:hover{background:var(--text-500)}[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 0 rgba(0, 0, 0, .03);--shadow-sm: 0 1px 0 rgba(0, 0, 0, .04);--shadow-md: 0 2px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .07);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .1)}[data-mode=light] .terminal-window{box-shadow:var(--shadow-xl)}[data-mode=light] .highlight-card{border-color:color-mix(in srgb,var(--text-100) 12%,transparent)}[data-mode=light] .btn-primary{color:var(--bg-900)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{position:relative;scroll-snap-align:start;scroll-snap-stop:normal;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-lg);box-shadow:var(--shadow-sm)}.glass{background:color-mix(in srgb,var(--bg-800) 78%,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) 82%,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) 88%,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),border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.lift:hover{transform:translateY(-2px);border-color:var(--line-strong)}.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:.22em;text-transform:uppercase;color:var(--c-primary);padding:0 0 var(--space-2);border-bottom:1px solid var(--line-strong);border-radius:0;background:none;margin-bottom:var(--space-6)}.section-tag:before{content:"";width:18px;height:2px;background:var(--c-primary);animation:none}.section-title{font:var(--text-display) var(--font-serif);font-weight:500;letter-spacing:-.015em;margin-bottom:var(--space-5)}.section-title .accent{position:relative;display:inline-block;color:var(--text-100);background:none;-webkit-text-fill-color:currentColor;font-style:italic}.section-title .accent:after{content:"";position:absolute;left:0;right:.08em;bottom:.06em;height:2px;background:var(--c-primary);opacity:.85;pointer-events:none}.title-outline{color:transparent;-webkit-text-stroke:1px var(--text-500)}.x-watermark{position:absolute;pointer-events:none;color:var(--c-primary);opacity:.05;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-out) 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(24px + var(--parallax-y, 0px)))}.reveal.is-visible{animation:revealIn .7s var(--ease-out) forwards}@keyframes revealIn{0%{opacity:0;transform:translate(var(--parallax-x, 0px),calc(24px + var(--parallax-y, 0px)))}to{opacity:1;transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px))}}.parallax-layer{transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px))}.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:13px 26px;border-radius:var(--radius-xs);font-size:14px;font-weight:500;letter-spacing:.02em;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.btn-primary{background:var(--c-primary);color:var(--bg-900);font-weight:600;border:1px solid var(--c-primary)}.btn-primary:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--c-primary) 86%,var(--text-100));border-color:color-mix(in srgb,var(--c-primary) 86%,var(--text-100))}.btn-ghost{border:1px solid var(--line-strong);color:var(--text-100);background:transparent}.btn-ghost:hover{border-color:var(--c-primary);color:var(--c-primary);transform:translateY(-1px)}@media(max-width:768px){.section{padding:80px 0}.container{padding:0 20px}html{scroll-snap-type:none}.section{scroll-snap-align:none;scroll-snap-stop:normal}}@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{opacity:1}50%{opacity:.72}}@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:none;color:var(--text-100);-webkit-text-fill-color:currentColor;animation:none}@keyframes rule-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
