.app-header[data-v-0e148927]{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);border-bottom:1px solid transparent}.app-header.scrolled[data-v-0e148927]{background:#07111feb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--color-border);box-shadow:0 1px 8px #0003}.header-inner[data-v-0e148927]{display:flex;align-items:center;gap:var(--space-6);height:var(--nav-height)}.logo[data-v-0e148927]{display:flex;align-items:center;gap:1px;text-decoration:none;flex-shrink:0}.logo[data-v-0e148927]:hover{opacity:1}.logo-name[data-v-0e148927]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);transition:color var(--transition-fast)}.logo:hover .logo-name[data-v-0e148927]{color:var(--color-primary)}.logo-dot[data-v-0e148927]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-primary);line-height:1}.nav-desktop[data-v-0e148927]{margin-left:auto}.nav-desktop ul[data-v-0e148927]{display:flex;gap:var(--space-1);align-items:center}.nav-link[data-v-0e148927]{position:relative;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-muted);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);text-decoration:none}.nav-link[data-v-0e148927]:hover{color:var(--color-text);background:#ffffff0d;opacity:1}.nav-link.active[data-v-0e148927]{color:var(--color-primary);background:#38bdf814}.header-actions[data-v-0e148927]{display:flex;align-items:center;gap:var(--space-3)}.lang-switch[data-v-0e148927]{display:flex;align-items:center;gap:var(--space-1);padding:4px 8px;background:#ffffff0a;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs)}.lang-btn[data-v-0e148927]{background:transparent;border:none;color:var(--color-muted);font-family:inherit;font-size:inherit;font-weight:var(--font-medium);padding:2px 6px;border-radius:3px;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.lang-btn[data-v-0e148927]:hover{color:var(--color-text)}.lang-btn--active[data-v-0e148927]{color:var(--color-primary);background:#38bdf81f;font-weight:var(--font-bold)}.lang-divider[data-v-0e148927]{color:var(--color-border);user-select:none;font-size:11px}.github-link[data-v-0e148927]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:color var(--transition-fast),border-color var(--transition-fast);text-decoration:none;flex-shrink:0}.github-link[data-v-0e148927]:hover{color:var(--color-text);border-color:#fff3;opacity:1}.menu-toggle[data-v-0e148927]{display:none;align-items:center;justify-content:center;color:var(--color-muted);padding:var(--space-2);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.menu-toggle[data-v-0e148927]:hover{color:var(--color-text)}.nav-mobile[data-v-0e148927]{background:#07111ffa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-6);max-height:calc(100dvh - var(--nav-height));overflow-y:auto}.nav-mobile ul[data-v-0e148927]{display:flex;flex-direction:column;gap:2px}.nav-link-mobile[data-v-0e148927]{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-muted);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);text-decoration:none}.nav-link-mobile[data-v-0e148927]:hover,.nav-link-mobile.active[data-v-0e148927]{color:var(--color-text);background:#ffffff0d;opacity:1}.nav-link-mobile.active[data-v-0e148927]{color:var(--color-primary);background:#38bdf814}.mobile-lang-row[data-v-0e148927]{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-3)}.lang-switch--mobile[data-v-0e148927]{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.menu-enter-active[data-v-0e148927]{transition:opacity var(--transition),transform var(--transition)}.menu-leave-active[data-v-0e148927]{transition:opacity var(--transition-fast),transform var(--transition-fast)}.menu-enter-from[data-v-0e148927]{opacity:0;transform:translateY(-8px)}.menu-leave-to[data-v-0e148927]{opacity:0;transform:translateY(-4px)}@media (max-width: 1024px) and (min-width: 769px){.nav-link[data-v-0e148927]{padding:var(--space-2);font-size:13px}.header-inner[data-v-0e148927]{gap:var(--space-4)}}@media (max-width: 768px){.nav-desktop[data-v-0e148927],.github-link span[data-v-0e148927]{display:none}.github-link[data-v-0e148927]{padding:var(--space-2);border:none}.menu-toggle[data-v-0e148927]{display:flex}.header-actions[data-v-0e148927]{margin-left:auto}.nav-mobile[data-v-0e148927]{padding-inline:var(--space-4)}}.app-footer[data-v-6866ced9]{border-top:1px solid var(--color-border);padding-block:var(--space-8);margin-top:var(--space-16)}.footer-inner[data-v-6866ced9]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.footer-name[data-v-6866ced9]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.footer-title[data-v-6866ced9]{font-size:var(--text-xs);margin-top:var(--space-1)}.footer-links[data-v-6866ced9]{display:flex;gap:var(--space-4)}.footer-link[data-v-6866ced9]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-muted);text-decoration:none;transition:color var(--transition-fast)}.footer-link[data-v-6866ced9]:hover{color:var(--color-text);opacity:1}.footer-copy[data-v-6866ced9]{font-size:var(--text-xs)}@media (max-width: 640px){.footer-inner[data-v-6866ced9]{flex-direction:column;align-items:flex-start;gap:var(--space-4)}}.app-layout[data-v-8247fe1f]{display:flex;flex-direction:column;min-height:100dvh}main[data-v-8247fe1f]{flex:1;padding-top:var(--nav-height)}main[data-v-8247fe1f]:focus{outline:none}.btn[data-v-7b948f33]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-sm);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;cursor:pointer;border:1px solid transparent}.btn--primary[data-v-7b948f33]{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}.btn--primary[data-v-7b948f33]:hover{background:color-mix(in srgb,var(--color-primary) 85%,white);opacity:1}.btn--secondary[data-v-7b948f33]{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--secondary[data-v-7b948f33]:hover{border-color:#fff3;background:#ffffff0a;opacity:1}.btn--ghost[data-v-7b948f33]{background:transparent;color:var(--color-muted);border-color:transparent}.btn--ghost[data-v-7b948f33]:hover{color:var(--color-text);opacity:1}.btn--icon[data-v-7b948f33]{padding:var(--space-2)}.hero[data-v-7122fe07]{min-height:calc(100dvh - var(--nav-height));display:flex;flex-direction:column;justify-content:center;position:relative;padding-block:var(--space-20)}.hero-inner[data-v-7122fe07]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.hero-label[data-v-7122fe07]{font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.03em;margin-bottom:var(--space-4)}.hero-name[data-v-7122fe07]{font-size:clamp(var(--text-4xl),5vw,3.75rem);font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--color-text);line-height:1.1}.hero-title[data-v-7122fe07]{font-size:clamp(var(--text-lg),2.5vw,var(--text-xl));margin-top:var(--space-3);font-weight:var(--font-normal)}.hero-description[data-v-7122fe07]{margin-top:var(--space-5);font-size:var(--text-base);color:var(--color-muted);max-width:48ch;line-height:var(--leading-relaxed)}.hero-actions[data-v-7122fe07]{display:flex;gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap}.hero-meta[data-v-7122fe07]{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8)}.hero-stats[data-v-7122fe07]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.stat-item[data-v-7122fe07]{display:flex;flex-direction:column;gap:var(--space-1)}.stat-label[data-v-7122fe07]{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.stat-value[data-v-7122fe07]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.hero-scroll[data-v-7122fe07]{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-size:var(--text-xs);opacity:.5}@media (max-width: 900px){.hero-inner[data-v-7122fe07]{grid-template-columns:1fr;gap:var(--space-10)}.hero-scroll[data-v-7122fe07]{display:none}}@media (max-width: 640px){.hero[data-v-7122fe07]{padding-block:var(--space-12);min-height:auto}.hero-stats[data-v-7122fe07]{grid-template-columns:1fr 1fr;gap:var(--space-4)}.hero-meta[data-v-7122fe07]{padding:var(--space-6)}}@media (max-width: 480px){.hero-name[data-v-7122fe07]{font-size:var(--text-3xl)}.hero-actions[data-v-7122fe07]{flex-direction:column}.hero-actions .btn[data-v-7122fe07]{width:100%;justify-content:center}}.section-heading[data-v-373f2793]{margin-bottom:var(--space-12)}.section-label[data-v-373f2793]{font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-3)}.section-title[data-v-373f2793]{font-size:clamp(var(--text-2xl),4vw,var(--text-4xl));font-weight:var(--font-bold);color:var(--color-text);line-height:var(--leading-tight)}.section-description[data-v-373f2793]{margin-top:var(--space-4);font-size:var(--text-lg);max-width:56ch;line-height:var(--leading-relaxed)}.about-grid[data-v-6cb2bf79]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}.about-text[data-v-6cb2bf79]{display:flex;flex-direction:column;gap:var(--space-4);color:var(--color-muted);font-size:var(--text-base);line-height:var(--leading-relaxed)}.about-details[data-v-6cb2bf79]{display:flex;flex-direction:column;gap:var(--space-6)}.detail-group[data-v-6cb2bf79]{display:flex;flex-direction:column;gap:var(--space-3)}.detail-label[data-v-6cb2bf79]{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.detail-list[data-v-6cb2bf79]{display:flex;flex-direction:column;gap:var(--space-2)}.detail-item[data-v-6cb2bf79]{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text)}.detail-link[data-v-6cb2bf79]{color:var(--color-primary);text-decoration:none;font-size:var(--text-sm)}.detail-link[data-v-6cb2bf79]:hover{opacity:.8}@media (max-width: 768px){.about-grid[data-v-6cb2bf79]{grid-template-columns:1fr}}.tag[data-v-247b9c8b]{display:inline-flex;align-items:center;padding:2px var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);font-family:var(--font-mono);border-radius:var(--radius-sm);white-space:nowrap}.tag--default[data-v-247b9c8b]{background:#ffffff0f;color:var(--color-muted);border:1px solid var(--color-border)}.tag--primary[data-v-247b9c8b]{background:var(--color-primary-dim);color:var(--color-primary);border:1px solid rgba(56,189,248,.2)}.project-card[data-v-8ee6032c]{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition),transform var(--transition)}.project-card[data-v-8ee6032c]:hover{border-color:#38bdf833;box-shadow:var(--shadow-primary);background:var(--color-card-hover)}.card-link[data-v-8ee6032c]{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6);text-decoration:none;color:inherit;height:100%}.card-header[data-v-8ee6032c]{display:flex;flex-direction:column;gap:var(--space-3)}.card-meta[data-v-8ee6032c]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.card-meta-left[data-v-8ee6032c]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.card-category[data-v-8ee6032c]{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:4px;background:#38bdf814;color:var(--color-primary);border:1px solid rgba(56,189,248,.2)}.card-period[data-v-8ee6032c]{font-size:var(--text-xs)}.card-status[data-v-8ee6032c]{font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px var(--space-2);border-radius:4px;font-family:var(--font-mono)}.status--ready[data-v-8ee6032c]{background:#34d3991a;color:var(--color-success)}.status--partial[data-v-8ee6032c]{background:#fbbf241a;color:var(--color-warning)}.status--roadmap[data-v-8ee6032c]{background:#ffffff0d;color:var(--color-muted)}.card-title[data-v-8ee6032c]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-snug)}.card-tagline[data-v-8ee6032c]{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.card-tags[data-v-8ee6032c]{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;flex:1}.tag-more[data-v-8ee6032c]{font-size:var(--text-xs);font-family:var(--font-mono)}.card-footer[data-v-8ee6032c]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.card-cta[data-v-8ee6032c]{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium)}.card-github[data-v-8ee6032c]{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);text-decoration:none;transition:color var(--transition-fast)}.card-github[data-v-8ee6032c]:hover{color:var(--color-text);opacity:1}.projects-grid[data-v-a8bce6f8]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}@media (max-width: 768px){.projects-grid[data-v-a8bce6f8]{grid-template-columns:1fr}}.card[data-v-4e1fb454]{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6)}.card--hoverable[data-v-4e1fb454]{transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.card--hoverable[data-v-4e1fb454]:hover{border-color:#38bdf833;box-shadow:var(--shadow-primary);background:var(--color-card-hover)}.skill-group[data-v-bc10c8ca]{display:flex;flex-direction:column;gap:var(--space-4)}.skill-category[data-v-bc10c8ca]{font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:.06em;text-transform:uppercase;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.skill-list[data-v-bc10c8ca]{display:flex;flex-direction:column;gap:var(--space-3)}.skill-item[data-v-bc10c8ca]{display:flex;flex-direction:column;gap:2px}.skill-name[data-v-bc10c8ca]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.skill-note[data-v-bc10c8ca]{font-size:var(--text-xs);line-height:var(--leading-normal)}.skills-grid[data-v-5584a6ba]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}@media (max-width: 900px){.skills-grid[data-v-5584a6ba]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.skills-grid[data-v-5584a6ba]{grid-template-columns:1fr}}.timeline-item[data-v-a003fd0c]{display:flex;gap:var(--space-5)}.timeline-marker[data-v-a003fd0c]{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-top:5px}.timeline-dot[data-v-a003fd0c]{width:10px;height:10px;border-radius:50%;background:var(--color-primary);flex-shrink:0}.timeline-line[data-v-a003fd0c]{width:1px;flex:1;background:var(--color-border);margin-top:var(--space-2);min-height:24px}.timeline-content[data-v-a003fd0c]{flex:1;padding-bottom:var(--space-10)}.timeline-item:last-child .timeline-line[data-v-a003fd0c]{display:none}.timeline-item:last-child .timeline-content[data-v-a003fd0c]{padding-bottom:0}.timeline-header[data-v-a003fd0c]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.timeline-role[data-v-a003fd0c]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.timeline-company[data-v-a003fd0c]{font-size:var(--text-sm);color:var(--color-primary);margin-top:2px}.timeline-right[data-v-a003fd0c]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.timeline-period[data-v-a003fd0c]{font-size:var(--text-xs)}.timeline-badge[data-v-a003fd0c]{font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px var(--space-2);background:var(--color-primary-dim);color:var(--color-primary);border-radius:4px;border:1px solid rgba(56,189,248,.2);font-family:var(--font-mono)}@media (max-width: 560px){.timeline-item[data-v-a003fd0c]{gap:var(--space-3)}.timeline-header[data-v-a003fd0c]{flex-direction:column;gap:var(--space-2)}.timeline-right[data-v-a003fd0c]{align-items:flex-start;flex-direction:row-reverse;justify-content:flex-end;gap:var(--space-3)}}.timeline[data-v-1fff6be6]{max-width:800px}.exp-list[data-v-1fff6be6]{display:flex;flex-direction:column;gap:var(--space-3)}.exp-item[data-v-1fff6be6]{display:flex;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-muted);line-height:var(--leading-relaxed)}.exp-bullet[data-v-1fff6be6]{flex-shrink:0;font-weight:var(--font-bold);margin-top:1px}.exp-tech[data-v-1fff6be6]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.edu-card[data-v-0eb5782a]{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-8);max-width:800px}.edu-header[data-v-0eb5782a]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.edu-degree[data-v-0eb5782a]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text)}.edu-institution[data-v-0eb5782a]{font-size:var(--text-base);margin-top:var(--space-2);font-weight:var(--font-medium)}.edu-location[data-v-0eb5782a]{font-size:var(--text-sm);margin-top:2px}.edu-right[data-v-0eb5782a]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.edu-gpa[data-v-0eb5782a]{display:flex;align-items:baseline;gap:var(--space-2)}.gpa-label[data-v-0eb5782a]{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.gpa-value[data-v-0eb5782a]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary)}.edu-period[data-v-0eb5782a]{font-size:var(--text-xs)}.edu-details[data-v-0eb5782a]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);margin-top:var(--space-6)}.detail-label[data-v-0eb5782a]{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-3)}.honor-item[data-v-0eb5782a]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text)}.course-tags[data-v-0eb5782a]{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media (max-width: 640px){.edu-details[data-v-0eb5782a]{grid-template-columns:1fr}.edu-header[data-v-0eb5782a]{flex-direction:column}.edu-right[data-v-0eb5782a]{align-items:flex-start}}.cert-badge[data-v-0828ebb3]{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition)}.cert-badge[data-v-0828ebb3]:hover{border-color:#38bdf833;box-shadow:var(--shadow-primary)}.cert-icon[data-v-0828ebb3]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-primary-dim);color:var(--color-primary);border-radius:var(--radius-sm);flex-shrink:0}.cert-name[data-v-0828ebb3]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-snug)}.cert-issuer[data-v-0828ebb3]{font-size:var(--text-xs);margin-top:2px}.certs-grid[data-v-014bb87b]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);max-width:900px}@media (max-width: 768px){.certs-grid[data-v-014bb87b]{grid-template-columns:1fr}}.writing-list[data-v-c3ccd788]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.writing-item[data-v-c3ccd788]{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition),transform var(--transition);cursor:pointer}.writing-item[data-v-c3ccd788]:hover{border-color:#38bdf833;box-shadow:var(--shadow-primary);background:var(--color-card-hover);opacity:1}.writing-type[data-v-c3ccd788]{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-medium);font-family:var(--font-mono);padding:2px var(--space-2);border-radius:4px;align-self:flex-start}.type--readme[data-v-c3ccd788]{background:#38bdf81a;color:var(--color-primary)}.type--runbook[data-v-c3ccd788]{background:#34d3991a;color:var(--color-success)}.type--guide[data-v-c3ccd788]{background:#fbbf241a;color:var(--color-warning)}.writing-title[data-v-c3ccd788]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-snug)}.writing-desc[data-v-c3ccd788]{font-size:var(--text-sm);line-height:var(--leading-relaxed);flex:1}.writing-footer[data-v-c3ccd788]{display:flex;align-items:center;gap:var(--space-1);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.writing-link[data-v-c3ccd788]{font-size:var(--text-xs)}@media (max-width: 768px){.writing-list[data-v-c3ccd788]{grid-template-columns:1fr}}.contact-grid[data-v-39b257bb]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);max-width:640px}.contact-card[data-v-39b257bb]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition),transform var(--transition)}.contact-card[data-v-39b257bb]:hover{border-color:#38bdf833;box-shadow:var(--shadow-primary);background:var(--color-card-hover);opacity:1}.contact-icon[data-v-39b257bb]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-primary-dim);color:var(--color-primary);border-radius:var(--radius-sm);flex-shrink:0}.contact-text[data-v-39b257bb]{flex:1}.contact-method[data-v-39b257bb]{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.contact-value[data-v-39b257bb]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);margin-top:2px}.contact-arrow[data-v-39b257bb]{flex-shrink:0}.contact-note[data-v-39b257bb]{margin-top:var(--space-8);font-size:var(--text-sm)}@media (max-width: 560px){.contact-grid[data-v-39b257bb]{grid-template-columns:1fr}}:root{--color-bg: #07111f;--color-card: #0d1b2a;--color-card-hover: #112033;--color-primary: #38bdf8;--color-primary-dim: rgba(56, 189, 248, .15);--color-text: #e6edf3;--color-muted: #9aa4b2;--color-border: rgba(255, 255, 255, .08);--color-border-focus: rgba(56, 189, 248, .5);--color-success: #34d399;--color-warning: #fbbf24;--color-partial: #f59e0b;--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--container: 1200px;--container-narrow: 768px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--transition-fast: .15s ease;--transition: .2s ease;--transition-slow: .3s ease;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-primary: 0 0 20px rgba(56, 189, 248, .12);--nav-height: 64px}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition: 0ms;--transition-slow: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-height) + 24px)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:var(--leading-normal);min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text)}p{line-height:var(--leading-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.8}code,kbd,pre{font-family:var(--font-mono)}img,svg{display:block;max-width:100%}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none;font:inherit}@media (pointer: coarse){a,button{min-height:44px;min-width:44px}}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:9999;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-bg);font-weight:var(--font-semibold);border-radius:var(--radius-sm);transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-2)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-6)}@media (max-width: 640px){.container{padding-inline:var(--space-4)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.section{padding-block:var(--space-24)}@media (max-width: 768px){.section{padding-block:var(--space-16)}}@media (max-width: 480px){.section{padding-block:var(--space-12)}}.divider{height:1px;background:var(--color-border);border:none}.text-muted{color:var(--color-muted)}.text-primary{color:var(--color-primary)}.font-mono{font-family:var(--font-mono)}::selection{background:#38bdf840;color:var(--color-text)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-slow) ease both}.fade-in-delay-1{animation-delay:.1s}.fade-in-delay-2{animation-delay:.2s}.fade-in-delay-3{animation-delay:.3s}.fade-in-delay-4{animation-delay:.4s}.v-enter-active,.v-leave-active{transition:opacity var(--transition-slow),transform var(--transition-slow)}.v-enter-from,.v-leave-to{opacity:0;transform:translateY(8px)}.hover-lift{transition:transform var(--transition),box-shadow var(--transition)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media (hover: none){.hover-lift:hover{transform:none;box-shadow:none}}@media (prefers-reduced-motion: reduce){.fade-in,.fade-in-delay-1,.fade-in-delay-2,.fade-in-delay-3,.fade-in-delay-4{animation:none;opacity:1;transform:none}.v-enter-active,.v-leave-active{transition:none}.hover-lift:hover{transform:none}}
