.nav[data-v-fbcc985a]{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform .4s var(--ease-out)}.nav.hide[data-v-fbcc985a]{transform:translateY(-100%)}.nav-wrap[data-v-fbcc985a]{max-width:1400px;margin:14px auto 0;padding:0 36px;height:54px;display:flex;justify-content:space-between;align-items:center;background:var(--nav-bg);backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--border);border-radius:27px;box-shadow:var(--shadow-sm)}.nav-logo[data-v-fbcc985a]{text-decoration:none;display:flex;align-items:center;gap:10px}.logo-avatar[data-v-fbcc985a]{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1.5px solid var(--border);transition:border-color .25s}.nav-logo:hover .logo-avatar[data-v-fbcc985a]{border-color:var(--accent)}.logo-text[data-v-fbcc985a]{font-size:16px;font-weight:700;color:var(--text-hero);letter-spacing:-.3px}.logo-dot[data-v-fbcc985a]{color:var(--accent)}.nav-desk[data-v-fbcc985a]{display:flex;align-items:center;gap:2px}.nav-item[data-v-fbcc985a]{background:none;border:none;color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer;padding:7px 15px;border-radius:18px;transition:all .25s;display:flex;align-items:center;gap:5px}.nav-item[data-v-fbcc985a]:hover{color:var(--text-primary);background:#80808014}.nav-num[data-v-fbcc985a]{font-family:var(--font-mono);font-size:10px;color:var(--accent);opacity:.7}.theme-btn[data-v-fbcc985a]{background:none;border:1px solid var(--border);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:8px;transition:all .25s}.theme-btn[data-v-fbcc985a]:hover{border-color:var(--accent);background:var(--accent-dim)}.theme-icon[data-v-fbcc985a]{font-size:15px}.nav-trigger[data-v-fbcc985a]{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px;z-index:1100}.nav-trigger span[data-v-fbcc985a]{display:block;width:20px;height:1.5px;background:var(--text-primary);border-radius:1px;transition:all .35s var(--ease-out)}.nav-trigger.on span[data-v-fbcc985a]:nth-child(1){transform:translateY(3.25px) rotate(45deg)}.nav-trigger.on span[data-v-fbcc985a]:nth-child(2){transform:translateY(-3.25px) rotate(-45deg)}.nav-overlay[data-v-fbcc985a]{position:fixed;inset:0;background:color-mix(in srgb,var(--bg-root) 97%,transparent);backdrop-filter:blur(20px);z-index:1050;display:flex;flex-direction:column;align-items:center;justify-content:center}.overlay-links[data-v-fbcc985a]{display:flex;flex-direction:column;gap:2px}.overlay-link[data-v-fbcc985a]{display:flex;align-items:center;gap:14px;background:none;border:none;color:var(--text-primary);font-size:30px;font-weight:600;font-family:var(--font-sans);cursor:pointer;padding:14px 28px;border-radius:var(--radius);position:relative;transition:background .2s}.overlay-link[data-v-fbcc985a]:hover{background:#8080800f}.overlay-num[data-v-fbcc985a]{font-family:var(--font-mono);font-size:11px;color:var(--accent);min-width:22px}.overlay-line[data-v-fbcc985a]{position:absolute;bottom:0;left:64px;right:28px;height:1px;background:var(--border)}.overlay-foot[data-v-fbcc985a]{position:absolute;bottom:40px;display:flex;gap:10px;font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.overlay-ver[data-v-fbcc985a]{color:var(--accent)}.theme-link[data-v-fbcc985a]{margin-top:8px}.theme-link .overlay-line[data-v-fbcc985a]{display:none}.panel-enter-active[data-v-fbcc985a]{transition:all .4s var(--ease-out)}.panel-leave-active[data-v-fbcc985a]{transition:all .25s var(--ease-out)}.panel-enter-from[data-v-fbcc985a],.panel-leave-to[data-v-fbcc985a]{opacity:0}@media(max-width:768px){.nav-wrap[data-v-fbcc985a]{margin:8px 10px 0;padding:0 18px;height:46px;border-radius:23px}.nav-desk[data-v-fbcc985a]{display:none}.nav-trigger[data-v-fbcc985a]{display:flex}.overlay-link[data-v-fbcc985a]{font-size:22px;padding:12px 20px}}.hero[data-v-f0eaabe8]{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--bg-root)}.hero-bg[data-v-f0eaabe8]{position:absolute;inset:0;pointer-events:none}.hero-glow[data-v-f0eaabe8]{position:absolute;border-radius:50%;filter:blur(140px)}.g1[data-v-f0eaabe8]{width:600px;height:600px;background:#4f6ef70f;top:-15%;right:-8%;animation:floatA-f0eaabe8 11s ease-in-out infinite}.g2[data-v-f0eaabe8]{width:450px;height:450px;background:#64748b0d;bottom:-8%;left:-5%;animation:floatB-f0eaabe8 13s ease-in-out infinite}@keyframes floatA-f0eaabe8{0%,to{transform:translate(0) scale(1)}33%{transform:translate(35px,-35px) scale(1.07)}66%{transform:translate(-25px,25px) scale(.94)}}@keyframes floatB-f0eaabe8{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-30px,30px) scale(1.06)}66%{transform:translate(20px,-20px) scale(.93)}}.hero-inner[data-v-f0eaabe8]{position:relative;z-index:1;max-width:1300px;margin:0 auto;padding:120px 48px 80px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.hero-content[data-v-f0eaabe8]{display:flex;flex-direction:column;gap:16px}.hero-eyebrow[data-v-f0eaabe8]{font-family:var(--font-mono);font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:3px}.hero-title[data-v-f0eaabe8]{display:flex;flex-wrap:wrap;gap:12px;font-size:clamp(44px,7vw,76px);font-weight:800;line-height:1.2;letter-spacing:-2px;color:var(--text-hero);padding:4px 0}.word.accent[data-v-f0eaabe8]{background:linear-gradient(135deg,var(--accent) 0%,#7b93fa 40%,var(--accent) 80%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shine-f0eaabe8 4s linear infinite}@keyframes shine-f0eaabe8{to{background-position:200% center}}.hero-desc[data-v-f0eaabe8]{font-size:16px;color:var(--text-secondary);line-height:1.75;max-width:460px}.hero-term[data-v-f0eaabe8]{font-family:var(--font-mono);font-size:13px;color:#4f6ef7;background:#00000008;border:1px solid var(--border);border-radius:8px;padding:13px 16px;max-width:420px}.hero-stats[data-v-f0eaabe8]{display:flex;gap:36px;margin-top:2px}.hero-stat-item[data-v-f0eaabe8]{display:flex;flex-direction:column;gap:2px}.stat-val[data-v-f0eaabe8]{font-family:var(--font-mono);font-size:30px;font-weight:700;color:var(--text-hero)}.stat-unit[data-v-f0eaabe8]{font-size:16px;color:var(--accent)}.stat-lbl[data-v-f0eaabe8]{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px}.hero-visual[data-v-f0eaabe8]{display:flex;justify-content:center;align-items:center}.visual-orbit[data-v-f0eaabe8]{position:relative;width:300px;height:300px}.orbit-ring[data-v-f0eaabe8]{position:absolute;inset:0;border-radius:50%;border:1px solid var(--border)}.r1[data-v-f0eaabe8]{animation:spin-f0eaabe8 20s linear infinite}.r2[data-v-f0eaabe8]{inset:28px;border-color:#4f6ef72e;animation:spin-f0eaabe8 14s linear infinite reverse}.r3[data-v-f0eaabe8]{inset:56px;border-color:#4f6ef74d;border-style:dashed;animation:spin-f0eaabe8 9s linear infinite}@keyframes spin-f0eaabe8{to{transform:rotate(360deg)}}.orbit-core[data-v-f0eaabe8]{position:absolute;inset:84px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(79,110,247,.15),transparent);display:flex;align-items:center;justify-content:center}.core-avatar[data-v-f0eaabe8]{width:110px;height:110px;border-radius:50%;object-fit:cover;border:2px solid rgba(79,110,247,.3)}.hero-scroll[data-v-f0eaabe8]{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:1}.scroll-mouse[data-v-f0eaabe8]{display:block;width:18px;height:30px;border:1.5px solid rgba(0,0,0,.15);border-radius:9px;position:relative}.scroll-dot[data-v-f0eaabe8]{position:absolute;top:5px;left:50%;transform:translate(-50%);width:3px;height:5px;border-radius:2px;background:var(--accent);animation:scrollDot-f0eaabe8 2s ease-in-out infinite}@keyframes scrollDot-f0eaabe8{0%,to{top:5px;opacity:1}50%{top:16px;opacity:.15}}@media(max-width:768px){.hero-inner[data-v-f0eaabe8]{grid-template-columns:1fr;gap:36px;padding:100px 24px 60px;text-align:center}.hero-content[data-v-f0eaabe8]{align-items:center}.hero-desc[data-v-f0eaabe8]{max-width:100%}.hero-stats[data-v-f0eaabe8]{justify-content:center}.hero-term[data-v-f0eaabe8]{max-width:100%;font-size:11px}.visual-orbit[data-v-f0eaabe8]{width:200px;height:200px}.orbit-core[data-v-f0eaabe8]{inset:55px}.core-text[data-v-f0eaabe8]{font-size:34px}}.about[data-v-cf70d4b2]{background:var(--bg-elevated);padding:120px 0}.about-wrap[data-v-cf70d4b2]{max-width:1200px;margin:0 auto;padding:0 48px}.section-tag[data-v-cf70d4b2]{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:2px}.section-h2[data-v-cf70d4b2]{font-size:52px;font-weight:800;color:var(--text-hero);letter-spacing:-1.5px;margin-top:6px}.about-line[data-v-cf70d4b2]{width:72px;height:2px;background:var(--border);margin-top:14px;border-radius:1px;overflow:hidden}.about-line-inner[data-v-cf70d4b2]{width:72px;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}.about-grid[data-v-cf70d4b2]{margin-top:56px;display:grid;grid-template-columns:340px 1fr;gap:72px;align-items:start}.photo-col[data-v-cf70d4b2]{display:flex;flex-direction:column;gap:16px;align-items:center}.photo-main[data-v-cf70d4b2]{width:280px;border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.photo-main img[data-v-cf70d4b2]{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.photo-thumbs[data-v-cf70d4b2]{display:flex;gap:10px}.thumb-btn[data-v-cf70d4b2]{width:56px;height:72px;border-radius:6px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;transition:all .25s;opacity:.55}.thumb-btn[data-v-cf70d4b2]:hover{opacity:.85}.thumb-btn.cur[data-v-cf70d4b2]{border-color:var(--accent);opacity:1}.thumb-btn img[data-v-cf70d4b2]{width:100%;height:100%;object-fit:cover;display:block}.about-timeline[data-v-cf70d4b2]{display:flex;flex-direction:column}.tl-item[data-v-cf70d4b2]{display:flex;gap:14px}.tl-marker[data-v-cf70d4b2]{display:flex;flex-direction:column;align-items:center;width:18px;flex-shrink:0;padding-top:7px;position:relative}.tl-dot[data-v-cf70d4b2]{width:8px;height:8px;border-radius:50%;background:var(--accent);position:relative;z-index:1}.tl-marker[data-v-cf70d4b2]:after{content:"";position:absolute;top:15px;width:1px;height:calc(100% - 8px);background:var(--border)}.tl-item:last-child .tl-marker[data-v-cf70d4b2]:after{display:none}.tl-body[data-v-cf70d4b2]{padding-bottom:38px;padding-left:6px}.tl-year[data-v-cf70d4b2]{font-family:var(--font-mono);font-size:11px;color:var(--accent);font-weight:600}.tl-title[data-v-cf70d4b2]{font-size:19px;font-weight:700;color:var(--text-primary);margin:4px 0 6px}.tl-desc[data-v-cf70d4b2]{font-size:14px;color:var(--text-secondary);line-height:1.7;max-width:460px}@media(max-width:768px){.about[data-v-cf70d4b2]{padding:80px 0}.about-wrap[data-v-cf70d4b2]{padding:0 24px}.section-h2[data-v-cf70d4b2]{font-size:38px}.about-grid[data-v-cf70d4b2]{grid-template-columns:1fr;gap:40px;margin-top:36px}.photo-main[data-v-cf70d4b2]{width:240px}.tl-title[data-v-cf70d4b2]{font-size:17px}}.skills[data-v-256756ab]{background:var(--bg-root);padding:120px 0}.skills-wrap[data-v-256756ab]{max-width:1200px;margin:0 auto;padding:0 48px}.section-tag[data-v-256756ab]{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:2px;display:inline-block}.section-h2[data-v-256756ab]{font-size:52px;font-weight:800;color:var(--text-hero);letter-spacing:-1.5px;margin-top:6px}.skills-line[data-v-256756ab]{width:72px;height:2px;background:#0000000f;margin-top:14px;border-radius:1px;overflow:hidden}.skills-line-inner[data-v-256756ab]{width:72px;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}.skills-layout[data-v-256756ab]{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.skills-panel[data-v-256756ab]{display:flex;flex-direction:column}.panel-title[data-v-256756ab]{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:8px}.panel-icon[data-v-256756ab]{color:var(--accent);font-size:12px}.skill-rows[data-v-256756ab]{display:flex;flex-direction:column;gap:15px}.skill-head[data-v-256756ab]{display:flex;justify-content:space-between;margin-bottom:5px}.skill-name[data-v-256756ab]{font-size:13px;font-weight:500;color:var(--text-secondary)}.skill-pct[data-v-256756ab]{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.skill-track[data-v-256756ab]{height:3px;background:#0000000f;border-radius:2px;overflow:hidden}.skill-fill[data-v-256756ab]{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:2px}.chip-cloud[data-v-256756ab]{display:flex;flex-wrap:wrap;gap:10px}.photo-chip[data-v-256756ab]{padding:8px 20px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:22px;cursor:default;transition:all .3s var(--ease-out)}.photo-chip[data-v-256756ab]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-dim)}.tool-grid[data-v-256756ab]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tool-card[data-v-256756ab]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all .3s var(--ease-out)}.tool-card[data-v-256756ab]:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-3px);box-shadow:var(--shadow-md)}.tool-emoji[data-v-256756ab]{font-size:22px}.tool-label[data-v-256756ab]{font-size:11px;color:var(--text-muted);font-weight:500}@media(max-width:768px){.skills[data-v-256756ab]{padding:80px 0}.skills-wrap[data-v-256756ab]{padding:0 24px}.section-h2[data-v-256756ab]{font-size:38px}.skills-layout[data-v-256756ab]{grid-template-columns:1fr;gap:40px}.tool-grid[data-v-256756ab]{grid-template-columns:repeat(3,1fr)}}.gallery[data-v-210ad8b4]{background:var(--bg-elevated);padding:120px 0}.gallery-wrap[data-v-210ad8b4]{max-width:1340px;margin:0 auto;padding:0 48px}.section-tag[data-v-210ad8b4]{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:2px;display:inline-block}.section-h2[data-v-210ad8b4]{font-size:52px;font-weight:800;color:var(--text-hero);letter-spacing:-1.5px;margin-top:6px}.gallery-line[data-v-210ad8b4]{width:72px;height:2px;background:#0000000f;margin-top:14px;border-radius:1px;overflow:hidden}.gallery-line-inner[data-v-210ad8b4]{width:72px;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}.cat-bar[data-v-210ad8b4]{display:inline-flex;gap:4px;margin-top:36px;margin-bottom:40px;padding:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow-sm)}.cat-btn[data-v-210ad8b4]{padding:7px 20px;background:none;border:none;border-radius:22px;color:var(--text-muted);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .3s var(--ease-out)}.cat-btn[data-v-210ad8b4]:hover{color:var(--text-primary)}.cat-btn.sel[data-v-210ad8b4]{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 8px var(--accent-dim)}.masonry[data-v-210ad8b4]{columns:4;column-gap:14px}.masonry-tile[data-v-210ad8b4]{break-inside:avoid;margin-bottom:14px;border-radius:var(--radius);overflow:hidden;cursor:pointer;position:relative;background:var(--bg-card);box-shadow:var(--shadow-sm)}.masonry-tile img[data-v-210ad8b4]{width:100%;display:block;transition:transform .6s var(--ease-out)}.masonry-tile:hover img[data-v-210ad8b4]{transform:scale(1.04)}.tile-hover[data-v-210ad8b4]{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;opacity:0;transition:opacity .35s var(--ease-out)}.masonry-tile:hover .tile-hover[data-v-210ad8b4]{opacity:1}.tile-title[data-v-210ad8b4]{color:#fff;font-size:14px;font-weight:600}.tile-cat[data-v-210ad8b4]{color:#ffffff8c;font-size:11px;margin-top:2px}.lightbox[data-v-210ad8b4]{position:fixed;inset:0;background:#000000eb;backdrop-filter:blur(16px);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.lb-close[data-v-210ad8b4]{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s}.lb-close[data-v-210ad8b4]:hover{background:#ffffff29}.lb-close span[data-v-210ad8b4]{position:absolute;width:16px;height:1.5px;background:#fff;border-radius:1px}.lb-close span[data-v-210ad8b4]:nth-child(1){transform:rotate(45deg)}.lb-close span[data-v-210ad8b4]:nth-child(2){transform:rotate(-45deg)}.lb-content img[data-v-210ad8b4]{max-width:88vw;max-height:78vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 20px 60px #0006}.lb-meta[data-v-210ad8b4]{text-align:center;margin-top:16px}.lb-meta h4[data-v-210ad8b4]{color:#fff;font-size:17px;font-weight:600}.lb-meta span[data-v-210ad8b4]{color:#fff6;font-size:12px}.fade-scale-enter-active[data-v-210ad8b4]{transition:all .3s var(--ease-out)}.fade-scale-leave-active[data-v-210ad8b4]{transition:all .2s var(--ease-out)}.fade-scale-enter-from[data-v-210ad8b4]{opacity:0}.fade-scale-enter-from img[data-v-210ad8b4]{transform:scale(.92)}.fade-scale-leave-to[data-v-210ad8b4]{opacity:0}@media(max-width:1024px){.masonry[data-v-210ad8b4]{columns:3}}@media(max-width:768px){.gallery[data-v-210ad8b4]{padding:80px 0}.gallery-wrap[data-v-210ad8b4]{padding:0 24px}.section-h2[data-v-210ad8b4]{font-size:38px}.masonry[data-v-210ad8b4]{columns:2;column-gap:10px}.masonry-tile[data-v-210ad8b4]{margin-bottom:10px}.cat-bar[data-v-210ad8b4]{overflow-x:auto;flex-wrap:nowrap}}@media(max-width:480px){.masonry[data-v-210ad8b4]{columns:1}}.projects[data-v-03e8689b]{background:var(--bg-root);padding:120px 0}.proj-wrap[data-v-03e8689b]{max-width:1200px;margin:0 auto;padding:0 48px}.section-tag[data-v-03e8689b]{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:2px;display:inline-block}.section-h2[data-v-03e8689b]{font-size:52px;font-weight:800;color:var(--text-hero);letter-spacing:-1.5px;margin-top:6px}.proj-line[data-v-03e8689b]{width:72px;height:2px;background:var(--border);margin-top:14px;border-radius:1px;overflow:hidden}.proj-line-inner[data-v-03e8689b]{width:72px;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}.proj-grid[data-v-03e8689b]{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.proj-card[data-v-03e8689b]{display:flex;flex-direction:column;gap:12px;padding:26px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:all .35s var(--ease-out);position:relative;box-shadow:var(--shadow-sm)}.proj-card[data-v-03e8689b]:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow-lg),0 0 0 1px var(--accent-dim)}.card-top[data-v-03e8689b]{display:flex;justify-content:space-between;align-items:flex-start}.card-icon[data-v-03e8689b]{font-size:28px}.card-arrow[data-v-03e8689b]{font-size:14px;color:var(--text-muted);transition:all .3s}.proj-card:hover .card-arrow[data-v-03e8689b]{color:var(--accent);transform:translate(2px,-2px)}.card-title[data-v-03e8689b]{font-size:18px;font-weight:700;color:var(--text-primary)}.card-desc[data-v-03e8689b]{font-size:13px;color:var(--text-secondary);line-height:1.65;flex:1}.card-tags[data-v-03e8689b]{display:flex;flex-wrap:wrap;gap:6px}.card-tag[data-v-03e8689b]{font-size:11px;font-weight:500;padding:3px 10px;border-radius:12px;background:var(--accent-dim);color:var(--accent);font-family:var(--font-mono)}@media(max-width:1024px){.proj-grid[data-v-03e8689b]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.projects[data-v-03e8689b]{padding:80px 0}.proj-wrap[data-v-03e8689b]{padding:0 24px}.section-h2[data-v-03e8689b]{font-size:38px}.proj-grid[data-v-03e8689b]{grid-template-columns:1fr;gap:14px}}.subsites[data-v-fab7f5b2]{background:var(--bg-root);padding:120px 0}.sub-wrap[data-v-fab7f5b2]{max-width:1200px;margin:0 auto;padding:0 48px}.section-tag[data-v-fab7f5b2]{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:2px;display:inline-block}.section-h2[data-v-fab7f5b2]{font-size:52px;font-weight:800;color:var(--text-hero);letter-spacing:-1.5px;margin-top:6px}.sub-line[data-v-fab7f5b2]{width:72px;height:2px;background:var(--border);margin-top:14px;border-radius:1px;overflow:hidden}.sub-line-inner[data-v-fab7f5b2]{width:72px;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}.sub-grid[data-v-fab7f5b2]{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.sub-card[data-v-fab7f5b2]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:all .35s var(--ease-out);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.sub-card[data-v-fab7f5b2]:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--border-hover)}.sub-banner[data-v-fab7f5b2]{height:80px;display:flex;align-items:center;justify-content:center}.sub-banner-icon[data-v-fab7f5b2]{font-size:36px;transition:transform .35s var(--ease-out)}.sub-card:hover .sub-banner-icon[data-v-fab7f5b2]{transform:scale(1.15)}.sub-body[data-v-fab7f5b2]{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px}.sub-title[data-v-fab7f5b2]{font-size:17px;font-weight:700;color:var(--text-primary)}.sub-desc[data-v-fab7f5b2]{font-size:13px;color:var(--text-secondary);line-height:1.5}.sub-cta[data-v-fab7f5b2]{margin-top:8px;font-size:12px;font-weight:600;color:var(--text-muted);transition:color .25s;font-family:var(--font-mono)}.sub-card:hover .sub-cta[data-v-fab7f5b2]{color:var(--accent)}@media(max-width:1024px){.sub-grid[data-v-fab7f5b2]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.subsites[data-v-fab7f5b2]{padding:80px 0}.sub-wrap[data-v-fab7f5b2]{padding:0 24px}.section-h2[data-v-fab7f5b2]{font-size:38px}.sub-grid[data-v-fab7f5b2]{grid-template-columns:1fr;gap:12px}.sub-banner[data-v-fab7f5b2]{height:64px}}.contact[data-v-1d1c02bf]{background:var(--bg-root);padding:120px 0}.contact-wrap[data-v-1d1c02bf]{max-width:1200px;margin:0 auto;padding:0 48px}.section-tag[data-v-1d1c02bf]{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:2px;display:inline-block}.section-h2[data-v-1d1c02bf]{font-size:52px;font-weight:800;color:var(--text-hero);letter-spacing:-1.5px;margin-top:6px}.contact-line[data-v-1d1c02bf]{width:72px;height:2px;background:#0000000f;margin-top:14px;border-radius:1px;overflow:hidden}.contact-line-inner[data-v-1d1c02bf]{width:72px;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}.contact-grid[data-v-1d1c02bf]{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.info-cards[data-v-1d1c02bf]{display:flex;flex-direction:column;gap:10px}.info-card[data-v-1d1c02bf]{display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:all .3s var(--ease-out);box-shadow:var(--shadow-sm)}a.info-card[data-v-1d1c02bf]:hover{border-color:var(--accent);background:var(--bg-card-hover);transform:translate(6px);box-shadow:var(--shadow-md)}.info-emoji[data-v-1d1c02bf]{font-size:22px;flex-shrink:0}.info-lbl[data-v-1d1c02bf]{display:block;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:2px}.info-val[data-v-1d1c02bf]{font-size:14px;font-weight:500;color:var(--text-primary)}.info-arr[data-v-1d1c02bf]{margin-left:auto;font-size:13px;color:var(--text-muted);transition:all .3s}a.info-card:hover .info-arr[data-v-1d1c02bf]{color:var(--accent);transform:translate(2px,-2px)}.form-box[data-v-1d1c02bf]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm)}.form-field[data-v-1d1c02bf]{margin-bottom:20px}.form-field label[data-v-1d1c02bf]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-field input[data-v-1d1c02bf],.form-field textarea[data-v-1d1c02bf]{width:100%;padding:12px 14px;background:var(--bg-root);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.form-field input[data-v-1d1c02bf]:focus,.form-field textarea[data-v-1d1c02bf]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-field textarea[data-v-1d1c02bf]{resize:vertical}.submit[data-v-1d1c02bf]{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font-sans);transition:all .3s var(--ease-out)}.submit[data-v-1d1c02bf]:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 24px var(--accent-glow)}.submit.done[data-v-1d1c02bf]{background:#4caf50}@media(max-width:768px){.contact[data-v-1d1c02bf]{padding:80px 0}.contact-wrap[data-v-1d1c02bf]{padding:0 24px}.section-h2[data-v-1d1c02bf]{font-size:38px}.contact-grid[data-v-1d1c02bf]{grid-template-columns:1fr;gap:32px}.form-box[data-v-1d1c02bf]{padding:24px 18px}}.footer[data-v-09717875]{background:var(--bg-elevated);border-top:1px solid var(--border);padding:52px 0 24px}.footer-wrap[data-v-09717875]{max-width:1200px;margin:0 auto;padding:0 48px}.footer-grid[data-v-09717875]{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px}.footer-col[data-v-09717875]{display:flex;flex-direction:column;gap:10px}.f-logo[data-v-09717875]{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--text-hero)}.f-desc[data-v-09717875]{font-size:13px;color:var(--text-muted);line-height:1.5}.f-title[data-v-09717875]{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:2px}.footer-col a[data-v-09717875]{font-size:13px;color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:color .2s}.footer-col a[data-v-09717875]:hover{color:var(--accent)}.social-links[data-v-09717875]{display:flex;gap:10px}.social-link[data-v-09717875]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);transition:all .25s}.social-link[data-v-09717875]:hover{transform:translateY(-2px);color:#fff;border-color:transparent}.social-link[data-v-09717875]:hover{background:#24292e}.social-link.bili[data-v-09717875]:hover{background:#fb7299}.social-link.discord[data-v-09717875]:hover{background:#5865f2}.footer-bot[data-v-09717875]{border-top:1px solid var(--border);padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.f-motto[data-v-09717875]{font-family:var(--font-mono)}@media(max-width:768px){.footer-wrap[data-v-09717875]{padding:0 24px}.footer-grid[data-v-09717875]{grid-template-columns:1fr 1fr;gap:28px}.brand-col[data-v-09717875]{grid-column:1 / -1;text-align:center}.social-links[data-v-09717875]{justify-content:center}.footer-bot[data-v-09717875]{flex-direction:column;gap:4px;text-align:center}}.preloader[data-v-682c87ab]{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:var(--bg-root);transition:background .35s ease}.loader-content[data-v-682c87ab]{display:flex;flex-direction:column;align-items:center;gap:12px}.loader-logo[data-v-682c87ab]{width:64px;height:64px;margin-bottom:4px}.logo-shape[data-v-682c87ab]{width:100%;height:100%}.logo-rect[data-v-682c87ab]{stroke-dasharray:200;stroke-dashoffset:200;animation:drawRect-682c87ab .8s cubic-bezier(.16,1,.3,1) forwards}.logo-check[data-v-682c87ab]{stroke-dasharray:40;stroke-dashoffset:40;animation:drawCheck-682c87ab .4s .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes drawRect-682c87ab{to{stroke-dashoffset:0}}@keyframes drawCheck-682c87ab{to{stroke-dashoffset:0}}.loader-text[data-v-682c87ab]{font-family:var(--font-sans);font-size:22px;font-weight:800;color:var(--text-hero);letter-spacing:-.5px;animation:fadeUp-682c87ab .5s .3s cubic-bezier(.16,1,.3,1) both}.loader-sub[data-v-682c87ab]{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;animation:fadeUp-682c87ab .5s .4s cubic-bezier(.16,1,.3,1) both}@keyframes fadeUp-682c87ab{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loader-bar[data-v-682c87ab]{margin-top:8px;width:120px;height:2px;background:var(--border);border-radius:1px;overflow:hidden}.loader-bar-fill[data-v-682c87ab]{width:100%;height:100%;background:var(--accent);border-radius:1px;animation:barPulse-682c87ab 1.5s cubic-bezier(.16,1,.3,1) infinite}@keyframes barPulse-682c87ab{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.loader-leave-active[data-v-682c87ab]{transition:opacity .5s cubic-bezier(.16,1,.3,1)}.loader-leave-to[data-v-682c87ab]{opacity:0}.app-icon[data-v-e99ea8eb]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}.app-icon[data-v-e99ea8eb] svg{display:block}:root{--bg-root: #fafafa;--bg-elevated: #f3f3f3;--bg-card: #ffffff;--bg-card-hover: #f7f7f7;--bg-input: #f5f5f5;--text-hero: #111111;--text-primary: #1f1f1f;--text-secondary: #5a5a5a;--text-muted: #8a8a8a;--accent: #4f6ef7;--accent-light: #7b93fa;--accent-dim: rgba(79, 110, 247, .07);--accent-glow: rgba(79, 110, 247, .2);--accent-secondary: #64748b;--accent-secondary-dim: rgba(100, 116, 139, .07);--border: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 16px rgba(0, 0, 0, .05);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .07);--nav-bg: rgba(250, 250, 250, .85);--nav-blur: blur(12px) saturate(160%);--term-bg: rgba(0, 0, 0, .025);--term-color: #4f6ef7;--particle-opacity: .55;--radius: 8px;--radius-lg: 16px;--radius-sm: 6px;--font-mono: "JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", "SF Mono", monospace;--font-sans: "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg-root: #0a0a0c;--bg-elevated: #111114;--bg-card: #18181b;--bg-card-hover: #1f1f23;--bg-input: #111114;--text-hero: #f5f5f5;--text-primary: #e0e0e0;--text-secondary: #888888;--text-muted: #555555;--accent: #818cf8;--accent-light: #a5b4fc;--accent-dim: rgba(129, 140, 248, .1);--accent-glow: rgba(129, 140, 248, .22);--accent-secondary: #94a3b8;--accent-secondary-dim: rgba(148, 163, 184, .08);--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--nav-bg: rgba(10, 10, 12, .85);--nav-blur: blur(12px) saturate(160%);--term-bg: rgba(255, 255, 255, .03);--term-color: #818cf8;--particle-opacity: .45}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg-root);transition:background .35s ease}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-root);transition:background .35s ease,color .35s ease;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}::selection{background:var(--accent-dim);color:var(--accent)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#particles-canvas{position:fixed;inset:0;pointer-events:none;z-index:0}.tech-grid{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.03;background-image:linear-gradient(rgba(79,110,247,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(79,110,247,.3) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 80% at 50% 30%,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 30%,black 20%,transparent 70%)}[data-theme=dark] .tech-grid{opacity:.05}#particles-canvas{contain:strict}@media(max-width:768px){.hero-glow{display:none}}
