.theme-picker[data-v-47767e79]{position:relative}.theme-toggle-btn[data-v-47767e79]{display:flex;align-items:center;gap:4px;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);font-family:inherit;color:var(--text-primary)}.theme-toggle-btn[data-v-47767e79]:hover{border-color:var(--accent);background:var(--glass-hover);transform:scale(1.05)}.theme-toggle-btn[data-v-47767e79]:active{transform:scale(.95)}.toggle-emoji[data-v-47767e79]{font-size:1.15rem;line-height:1}.toggle-chevron[data-v-47767e79]{color:var(--text-tertiary);transition:transform .3s ease}.toggle-chevron.rotated[data-v-47767e79]{transform:rotate(180deg)}.theme-dropdown[data-v-47767e79]{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--glass-bg);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid var(--border);border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow);z-index:200}.dropdown-header[data-v-47767e79]{padding:8px 14px 6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.theme-option[data-v-47767e79]{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left;width:100%}.theme-option[data-v-47767e79]:hover{background:var(--glass-hover)}.theme-option.active[data-v-47767e79]{background:var(--accent-glow);color:var(--accent-light)}.theme-option.active .option-name[data-v-47767e79]{color:var(--accent-light)}.option-emoji[data-v-47767e79]{font-size:1.15rem;flex-shrink:0}.option-info[data-v-47767e79]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.option-name[data-v-47767e79]{font-size:.9rem;font-weight:600;color:var(--text-primary);transition:color .2s}.option-label[data-v-47767e79]{font-size:.75rem;color:var(--text-tertiary)}.option-check[data-v-47767e79]{color:var(--accent);flex-shrink:0}.dropdown-enter-active[data-v-47767e79],.dropdown-leave-active[data-v-47767e79]{transition:all .2s cubic-bezier(.16,1,.3,1)}.dropdown-enter-from[data-v-47767e79],.dropdown-leave-to[data-v-47767e79]{opacity:0;transform:translateY(-8px) scale(.96)}.navbar[data-v-b30f354b]{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 0;transition:all .3s ease}.navbar.scrolled[data-v-b30f354b]{background:var(--glass-bg);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:0 1px 0 var(--border),0 4px 20px #00000014;padding:10px 0}.nav-inner[data-v-b30f354b]{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.nav-logo[data-v-b30f354b]{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:1.25rem;color:var(--text-primary)}.logo-dot[data-v-b30f354b]{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.nav-links[data-v-b30f354b]{display:flex;align-items:center;gap:4px}.nav-link[data-v-b30f354b]{padding:8px 16px;border-radius:10px;text-decoration:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all .25s ease;background:none;border:none;cursor:pointer;font-family:inherit}.nav-link[data-v-b30f354b]:hover,.nav-link.router-link-active[data-v-b30f354b]{color:var(--text-primary);background:var(--glass-bg)}.nav-dropdown[data-v-b30f354b]{position:relative}.nav-more[data-v-b30f354b]{display:flex;align-items:center;gap:4px}.dropdown-menu[data-v-b30f354b]{position:absolute;top:100%;right:0;margin-top:8px;min-width:200px;background:var(--glass-bg);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);border:1px solid var(--border);border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:2px}.dropdown-item[data-v-b30f354b]{display:flex;flex-direction:column;padding:10px 14px;border-radius:10px;text-decoration:none;transition:background .2s}.dropdown-item[data-v-b30f354b]:hover{background:var(--glass-hover)}.dropdown-label[data-v-b30f354b]{color:var(--text-primary);font-size:.9rem;font-weight:500}.dropdown-desc[data-v-b30f354b]{color:var(--text-tertiary);font-size:.75rem;margin-top:2px}.nav-actions[data-v-b30f354b]{display:flex;align-items:center;gap:12px}.menu-btn[data-v-b30f354b]{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.menu-btn span[data-v-b30f354b]{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:2px;transition:all .3s ease}@media (max-width: 768px){.menu-btn[data-v-b30f354b]{display:flex}.nav-links[data-v-b30f354b]{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--glass-bg);-webkit-backdrop-filter:blur(40px) saturate(200%);backdrop-filter:blur(40px) saturate(200%);flex-direction:column;align-items:stretch;padding:100px 24px 24px;gap:4px;transition:right .3s ease;border-left:1px solid var(--border)}.nav-links.open[data-v-b30f354b]{right:0}.dropdown-menu[data-v-b30f354b]{position:static;margin-top:4px;background:var(--glass-hover)}}.site-footer[data-v-052cb9f0]{position:relative;z-index:1;border-top:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:48px 0 32px}.footer-inner[data-v-052cb9f0]{max-width:1200px;margin:0 auto;padding:0 24px}.footer-built[data-v-052cb9f0]{display:flex;align-items:center;gap:16px;margin-bottom:32px;flex-wrap:wrap}.built-label[data-v-052cb9f0]{color:var(--text-tertiary);font-size:.85rem;font-weight:500}.built-techs[data-v-052cb9f0]{display:flex;gap:8px;flex-wrap:wrap}.tech-badge[data-v-052cb9f0]{padding:4px 12px;border-radius:20px;background:var(--glass-hover);border:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;font-weight:500}.footer-bottom[data-v-052cb9f0]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:24px;border-top:1px solid var(--border)}.copyright[data-v-052cb9f0]{color:var(--text-tertiary);font-size:.85rem;margin:0}.footer-links[data-v-052cb9f0]{display:flex;gap:20px}.footer-link[data-v-052cb9f0]{color:var(--text-tertiary);text-decoration:none;font-size:.85rem;transition:color .2s}.footer-link[data-v-052cb9f0]:hover{color:var(--accent)}@media (max-width: 640px){.footer-bottom[data-v-052cb9f0]{flex-direction:column;align-items:flex-start}}.app-root{position:relative;min-height:100vh}.main-content{position:relative;z-index:1;padding-top:80px;min-height:calc(100vh - 200px)}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .25s ease,transform .25s ease}.page-fade-enter-from{opacity:0;transform:translateY(12px)}.page-fade-leave-to{opacity:0;transform:translateY(-12px)}:root,[data-theme=midnight]{--bg-primary: #0a0a14;--bg-secondary: #111120;--bg-tertiary: #16162a;--glass-bg: rgba(20, 16, 40, .5);--glass-hover: rgba(25, 20, 50, .7);--glass-alt: rgba(30, 24, 60, .35);--text-primary: #ede9fe;--text-secondary: #a5a0c8;--text-tertiary: #6a6590;--accent: #8b5cf6;--accent-light: #a78bfa;--accent-dark: #7c3aed;--accent-glow: rgba(139, 92, 246, .35);--accent-glow-strong: rgba(139, 92, 246, .55);--accent-secondary: #6366f1;--border: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .14);--border-accent: rgba(139, 92, 246, .25);--shadow: 0 8px 32px rgba(0, 0, 0, .45);--shadow-card: 0 4px 20px rgba(139, 92, 246, .1);--shadow-glow: 0 0 40px rgba(139, 92, 246, .2);--nav-bg: rgba(10, 10, 20, .75);--gradient-1: linear-gradient(135deg, #8b5cf6 0%, #6366f1 50%, #a78bfa 100%);--gradient-2: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a78bfa 100%);--gradient-text: linear-gradient(135deg, #a78bfa 0%, #c4b5fd 50%, #ddd6fe 100%);--gradient-hero: radial-gradient(ellipse at 50% 0%, rgba(139, 92, 246, .15) 0%, transparent 60%);--tag-bg: rgba(139, 92, 246, .12);--tag-text: #a78bfa;--timeline-color: rgba(139, 92, 246, .3);--galaxy-core: #8b5cf6;--galaxy-mid: #6366f1;--galaxy-outer: #a78bfa;--galaxy-dust: #c4b5fd}[data-theme=cyber]{--bg-primary: #050510;--bg-secondary: #0a0a1a;--bg-tertiary: #0f0f24;--glass-bg: rgba(8, 8, 30, .55);--glass-hover: rgba(12, 12, 40, .75);--glass-alt: rgba(15, 10, 35, .4);--text-primary: #e0f7ff;--text-secondary: #80c8e8;--text-tertiary: #4a8098;--accent: #00e5ff;--accent-light: #66f0ff;--accent-dark: #00b8d4;--accent-glow: rgba(0, 229, 255, .4);--accent-glow-strong: rgba(0, 229, 255, .6);--accent-secondary: #d500f9;--border: rgba(0, 229, 255, .1);--border-hover: rgba(0, 229, 255, .2);--border-accent: rgba(0, 229, 255, .3);--shadow: 0 8px 32px rgba(0, 150, 200, .2);--shadow-card: 0 4px 20px rgba(0, 229, 255, .08);--shadow-glow: 0 0 50px rgba(0, 229, 255, .25);--nav-bg: rgba(5, 5, 16, .8);--gradient-1: linear-gradient(135deg, #00e5ff 0%, #d500f9 50%, #ff4081 100%);--gradient-2: linear-gradient(135deg, #00e5ff 0%, #00b8d4 50%, #d500f9 100%);--gradient-text: linear-gradient(135deg, #66f0ff 0%, #d500f9 50%, #ff80ab 100%);--gradient-hero: radial-gradient(ellipse at 50% 0%, rgba(0, 229, 255, .12) 0%, rgba(213, 0, 249, .06) 50%, transparent 70%);--tag-bg: rgba(0, 229, 255, .1);--tag-text: #66f0ff;--timeline-color: rgba(0, 229, 255, .3);--galaxy-core: #00e5ff;--galaxy-mid: #d500f9;--galaxy-outer: #ff4081;--galaxy-dust: #66f0ff}[data-theme=forest]{--bg-primary: #0a1a12;--bg-secondary: #0f2218;--bg-tertiary: #142e20;--glass-bg: rgba(14, 30, 20, .5);--glass-hover: rgba(18, 38, 26, .7);--glass-alt: rgba(20, 40, 28, .35);--text-primary: #d1fae5;--text-secondary: #6ee7b7;--text-tertiary: #3a7a5a;--accent: #10b981;--accent-light: #34d399;--accent-dark: #059669;--accent-glow: rgba(16, 185, 129, .35);--accent-glow-strong: rgba(16, 185, 129, .55);--accent-secondary: #06b6d4;--border: rgba(16, 185, 129, .08);--border-hover: rgba(16, 185, 129, .16);--border-accent: rgba(16, 185, 129, .25);--shadow: 0 8px 32px rgba(0, 30, 15, .5);--shadow-card: 0 4px 20px rgba(16, 185, 129, .08);--shadow-glow: 0 0 40px rgba(16, 185, 129, .2);--nav-bg: rgba(10, 26, 18, .75);--gradient-1: linear-gradient(135deg, #10b981 0%, #06b6d4 50%, #34d399 100%);--gradient-2: linear-gradient(135deg, #059669 0%, #10b981 50%, #a3e635 100%);--gradient-text: linear-gradient(135deg, #34d399 0%, #6ee7b7 50%, #a7f3d0 100%);--gradient-hero: radial-gradient(ellipse at 50% 0%, rgba(16, 185, 129, .12) 0%, transparent 60%);--tag-bg: rgba(16, 185, 129, .12);--tag-text: #34d399;--timeline-color: rgba(16, 185, 129, .3);--galaxy-core: #10b981;--galaxy-mid: #06b6d4;--galaxy-outer: #a3e635;--galaxy-dust: #34d399}[data-theme=ocean]{--bg-primary: #0a1628;--bg-secondary: #0f1e35;--bg-tertiary: #142844;--glass-bg: rgba(12, 24, 45, .5);--glass-hover: rgba(16, 32, 56, .7);--glass-alt: rgba(18, 36, 60, .35);--text-primary: #e0f2fe;--text-secondary: #7dd3fc;--text-tertiary: #3880a0;--accent: #0ea5e9;--accent-light: #38bdf8;--accent-dark: #0284c7;--accent-glow: rgba(14, 165, 233, .35);--accent-glow-strong: rgba(14, 165, 233, .55);--accent-secondary: #2dd4bf;--border: rgba(14, 165, 233, .08);--border-hover: rgba(14, 165, 233, .16);--border-accent: rgba(14, 165, 233, .25);--shadow: 0 8px 32px rgba(0, 40, 80, .45);--shadow-card: 0 4px 20px rgba(14, 165, 233, .08);--shadow-glow: 0 0 45px rgba(14, 165, 233, .2);--nav-bg: rgba(10, 22, 40, .75);--gradient-1: linear-gradient(135deg, #0ea5e9 0%, #2dd4bf 50%, #818cf8 100%);--gradient-2: linear-gradient(135deg, #0284c7 0%, #0ea5e9 50%, #2dd4bf 100%);--gradient-text: linear-gradient(135deg, #38bdf8 0%, #5eead4 50%, #a5b4fc 100%);--gradient-hero: radial-gradient(ellipse at 50% 0%, rgba(14, 165, 233, .1) 0%, rgba(45, 212, 191, .05) 50%, transparent 70%);--tag-bg: rgba(14, 165, 233, .12);--tag-text: #38bdf8;--timeline-color: rgba(14, 165, 233, .3);--galaxy-core: #0ea5e9;--galaxy-mid: #2dd4bf;--galaxy-outer: #818cf8;--galaxy-dust: #38bdf8}[data-theme=sunset]{--bg-primary: #1a1008;--bg-secondary: #24180c;--bg-tertiary: #2e1e10;--glass-bg: rgba(35, 20, 10, .5);--glass-hover: rgba(45, 28, 14, .7);--glass-alt: rgba(50, 30, 16, .35);--text-primary: #fef3c7;--text-secondary: #fbbf24;--text-tertiary: #92600a;--accent: #f59e0b;--accent-light: #fbbf24;--accent-dark: #d97706;--accent-glow: rgba(245, 158, 11, .4);--accent-glow-strong: rgba(245, 158, 11, .6);--accent-secondary: #f97316;--border: rgba(245, 158, 11, .1);--border-hover: rgba(245, 158, 11, .2);--border-accent: rgba(245, 158, 11, .3);--shadow: 0 8px 32px rgba(80, 40, 0, .4);--shadow-card: 0 4px 20px rgba(245, 158, 11, .1);--shadow-glow: 0 0 50px rgba(245, 158, 11, .25);--nav-bg: rgba(26, 16, 8, .75);--gradient-1: linear-gradient(135deg, #f59e0b 0%, #f97316 50%, #ef4444 100%);--gradient-2: linear-gradient(135deg, #d97706 0%, #f59e0b 50%, #fbbf24 100%);--gradient-text: linear-gradient(135deg, #fbbf24 0%, #fcd34d 50%, #fde68a 100%);--gradient-hero: radial-gradient(ellipse at 50% 0%, rgba(245, 158, 11, .12) 0%, rgba(239, 68, 68, .04) 60%, transparent 70%);--tag-bg: rgba(245, 158, 11, .12);--tag-text: #fbbf24;--timeline-color: rgba(245, 158, 11, .3);--galaxy-core: #f59e0b;--galaxy-mid: #f97316;--galaxy-outer: #ef4444;--galaxy-dust: #fbbf24}[data-theme=light]{--bg-primary: #f8f7ff;--bg-secondary: #ede9fe;--bg-tertiary: #e0dbf8;--glass-bg: rgba(255, 255, 255, .6);--glass-hover: rgba(255, 255, 255, .85);--glass-alt: rgba(245, 243, 255, .5);--text-primary: #1a1030;--text-secondary: #4a3f78;--text-tertiary: #7c71a8;--accent: #7c3aed;--accent-light: #8b5cf6;--accent-dark: #6d28d9;--accent-glow: rgba(124, 58, 237, .2);--accent-glow-strong: rgba(124, 58, 237, .35);--accent-secondary: #6366f1;--border: rgba(124, 58, 237, .12);--border-hover: rgba(124, 58, 237, .25);--border-accent: rgba(124, 58, 237, .3);--shadow: 0 8px 32px rgba(124, 58, 237, .08);--shadow-card: 0 4px 20px rgba(124, 58, 237, .05);--shadow-glow: 0 0 30px rgba(124, 58, 237, .12);--nav-bg: rgba(248, 247, 255, .75);--gradient-1: linear-gradient(135deg, #7c3aed 0%, #6366f1 50%, #8b5cf6 100%);--gradient-2: linear-gradient(135deg, #6366f1 0%, #7c3aed 50%, #8b5cf6 100%);--gradient-text: linear-gradient(135deg, #7c3aed 0%, #6366f1 50%, #4c1d95 100%);--gradient-hero: radial-gradient(ellipse at 50% 0%, rgba(124, 58, 237, .08) 0%, transparent 60%);--tag-bg: rgba(124, 58, 237, .08);--tag-text: #6d28d9;--timeline-color: rgba(124, 58, 237, .25);--galaxy-core: #7c3aed;--galaxy-mid: #6366f1;--galaxy-outer: #a78bfa;--galaxy-dust: #c4b5fd}:root{--card-radius: 20px;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--font-sans: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .6s cubic-bezier(.16,1,.3,1),color .6s cubic-bezier(.16,1,.3,1)}.hero-gradient{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background:var(--gradient-hero);transition:background .8s cubic-bezier(.16,1,.3,1)}#particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}a{color:var(--accent-light);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent)}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--border);border-radius:var(--card-radius);transition:all .3s ease}.glass-panel:hover{border-color:var(--border-hover)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem;border-radius:50px;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;font-family:var(--font-sans)}.btn-primary{background:var(--gradient-1);color:#fff;box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow-strong)}.btn-glass{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--border);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%)}.btn-glass:hover{background:var(--glass-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-outline{background:transparent;color:var(--accent-light);border:1.5px solid var(--border-accent)}.btn-outline:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light);transform:translateY(-2px)}.tag{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.78rem;font-weight:500;background:var(--tag-bg);color:var(--tag-text);font-family:var(--font-mono);transition:all .2s ease}.tag:hover{background:var(--accent-glow);color:var(--accent-light)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 4px 20px var(--accent-glow)}50%{box-shadow:0 4px 40px var(--accent-glow-strong),0 0 60px var(--accent-glow)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.float-animation{animation:float 4s ease-in-out infinite}.pulse-glow{animation:pulse-glow 2.5s ease-in-out infinite}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.reveal-stagger.visible>*{opacity:1;transform:translateY(0)}.reveal-stagger.visible>*:nth-child(1){transition-delay:.05s}.reveal-stagger.visible>*:nth-child(2){transition-delay:.1s}.reveal-stagger.visible>*:nth-child(3){transition-delay:.15s}.reveal-stagger.visible>*:nth-child(4){transition-delay:.2s}.reveal-stagger.visible>*:nth-child(5){transition-delay:.25s}.reveal-stagger.visible>*:nth-child(6){transition-delay:.3s}.reveal-stagger.visible>*:nth-child(7){transition-delay:.35s}.reveal-stagger.visible>*:nth-child(8){transition-delay:.4s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}#particle-canvas{display:none}}
