.footer[data-v-13bbed34]{width:100%;padding:3rem 2rem 2rem;border-top:1px solid var(--color-border)}.container[data-v-13bbed34]{max-width:1100px;margin:0 auto}.footer-cta[data-v-13bbed34]{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.footer-badge[data-v-13bbed34]{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .875rem;background:var(--primary-color-alpha);border:1px solid var(--primary-color);border-radius:2rem;color:var(--primary-color);font-size:.875rem;font-weight:500}.footer-badge__dot[data-v-13bbed34]{width:7px;height:7px;border-radius:50%;background:var(--primary-color);box-shadow:0 0 6px var(--primary-color);animation:pulse-13bbed34 2s infinite;flex-shrink:0}.footer-email-btn[data-v-13bbed34]{display:inline-flex;align-items:center;padding:.4rem 1rem;border:1px solid var(--color-border);border-radius:2rem;color:var(--color-text);font-size:.875rem;font-weight:500;text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease}.footer-email-btn[data-v-13bbed34]:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-color-alpha)}.footer-bottom[data-v-13bbed34]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-text[data-v-13bbed34]{color:var(--color-text);font-size:.875rem;opacity:.5;margin:0}.social-links[data-v-13bbed34]{display:flex;gap:1rem;align-items:center}.social-link[data-v-13bbed34]{color:var(--color-text);opacity:.5;transition:color .2s ease,opacity .2s ease}.social-link[data-v-13bbed34]:hover{color:var(--primary-color);opacity:1}.icon[data-v-13bbed34]{width:1.375rem;height:1.375rem}@keyframes pulse-13bbed34{0%{transform:scale(.95);box-shadow:0 0 0 0 var(--primary-color)}70%{transform:scale(1);box-shadow:0 0 0 5px transparent}to{transform:scale(.95);box-shadow:0 0 0 0 transparent}}:root{--nav-text-color: var(--color-text);--nav-hover-color: var(--primary-color);--nav-active-color: var(--primary-color)}nav{padding:30px;color:var(--nav-text-color)}nav a,nav .router-link{font-weight:700;text-decoration:none;margin:10px;cursor:pointer;color:var(--nav-text-color);transition:color .3s ease}nav a:hover,nav .router-link:hover{color:var(--nav-hover-color)}nav a.router-link-exact-active,nav .router-link.router-link-exact-active{color:var(--nav-active-color)}.nav-controls{display:flex;align-items:center;gap:8px}.theme-toggle{position:relative;margin-left:4px}.theme-button{background:none;border:none;cursor:pointer;padding:8px;position:relative;width:40px;height:40px;border-radius:50%;color:var(--color-text);transition:background-color .3s ease}.theme-button:hover{background-color:var(--color-background-soft)}.sun-icon,.moon-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;transition:opacity .3s ease}.sun-icon{opacity:1}.moon-icon{opacity:0}.sun-icon.active,.moon-icon.active{opacity:1}.logo-link{display:flex;align-items:center;padding:.5rem;text-decoration:none;transition:all .3s ease}.logo-text{font-family:Cookie,cursive;font-size:2.5rem;color:var(--color-heading);text-decoration:none;transition:transform .3s ease,color .3s ease}.logo-link:hover .logo-text{transform:scale(1.05);color:var(--primary-color)}.desktop-links{display:flex;gap:0}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;width:40px;height:40px}.ham-bar{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.ham-bar:nth-child(1).open{transform:translateY(7px) rotate(45deg)}.ham-bar:nth-child(2).open{opacity:0}.ham-bar:nth-child(3).open{transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;flex-direction:column;background:var(--color-background);border-bottom:1px solid var(--color-border);max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.mobile-menu.open{max-height:400px;padding:.5rem 0}.mobile-link{display:block;padding:.875rem 1.5rem;color:var(--nav-text-color);text-decoration:none;font-weight:500;border-bottom:1px solid var(--color-border);transition:color .2s ease,background .2s ease}.mobile-link:last-child{border-bottom:none}.mobile-link:hover{color:var(--nav-hover-color);background:var(--color-background-soft)}.mobile-link.router-link-exact-active{color:var(--nav-active-color)}@media (max-width: 768px){.logo-text{font-size:2rem}.desktop-links{display:none}.hamburger,.mobile-menu{display:flex}}.page-enter-active,.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-8px)}.metrics-section[data-v-1c9b50dd]{padding:5rem 2rem;max-width:1200px;margin:0 auto}.metrics-grid[data-v-1c9b50dd]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:900px;margin:0 auto}@media (max-width: 768px){.metrics-grid[data-v-1c9b50dd]{grid-template-columns:repeat(2,1fr)}}.metric-card[data-v-1c9b50dd]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.75rem 1rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:.75rem;text-align:center;cursor:default;opacity:0;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.metric-card[data-v-1c9b50dd]:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--primary-color);border-color:var(--primary-color)}.metric-value[data-v-1c9b50dd]{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;color:var(--primary-color);line-height:1}.metric-label[data-v-1c9b50dd]{font-size:.8rem;color:var(--color-text);opacity:.7;text-align:center;line-height:1.4}.featured-section[data-v-9246a0d9]{padding:0 2rem 5rem}.featured-inner[data-v-9246a0d9]{max-width:1100px;margin:0 auto}.featured-header[data-v-9246a0d9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.featured-title[data-v-9246a0d9]{font-size:1.75rem;font-weight:700;color:var(--color-heading);margin:0}.all-link[data-v-9246a0d9]{color:var(--primary-color);text-decoration:none;font-size:.9375rem;font-weight:500;transition:opacity .2s}.all-link[data-v-9246a0d9]:hover{opacity:.7}.featured-grid[data-v-9246a0d9]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 900px){.featured-grid[data-v-9246a0d9]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.featured-grid[data-v-9246a0d9]{grid-template-columns:1fr}}.featured-card[data-v-9246a0d9]{position:relative;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:1rem;padding:1.75rem;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.featured-card[data-v-9246a0d9]:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000014;border-color:var(--primary-color)}.live-badge[data-v-9246a0d9]{position:absolute;top:1.25rem;right:1.25rem;display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .5rem;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);border-radius:999px;font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#16a34a;text-transform:uppercase}.live-badge__dot[data-v-9246a0d9]{width:5px;height:5px;border-radius:50%;background:#22c55e;animation:live-pulse-9246a0d9 1.8s ease-in-out infinite}@keyframes live-pulse-9246a0d9{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}:root.dark .live-badge[data-v-9246a0d9]{color:#4ade80}:root.dark .live-badge .live-badge__dot[data-v-9246a0d9]{background:#4ade80}.card-name[data-v-9246a0d9]{font-size:1.25rem;font-weight:600;color:var(--color-heading);margin:0;padding-right:3rem}.card-desc[data-v-9246a0d9]{font-size:.9375rem;color:var(--color-text);opacity:.8;line-height:1.6;margin:0;flex:1}.card-tech[data-v-9246a0d9]{display:flex;flex-wrap:wrap;gap:.375rem}.tech-tag[data-v-9246a0d9]{font-size:.75rem;color:var(--color-text);opacity:.55}.card-links[data-v-9246a0d9]{display:flex;gap:.5rem;margin-top:.25rem}.card-link[data-v-9246a0d9]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:.375rem;font-size:.8rem;font-weight:500;text-decoration:none;color:#fff;transition:opacity .2s}.card-link[data-v-9246a0d9]:hover{opacity:.85}.card-link--github[data-v-9246a0d9]{background:#24292f}.card-link--npm[data-v-9246a0d9]{background:#cb3837}.terminal-section[data-v-5383815e]{padding:0 2rem 6rem}.terminal-inner[data-v-5383815e]{max-width:700px;margin:0 auto}.terminal-card[data-v-5383815e]{--primary-color: #42b983;--primary-color-alpha: rgba(66, 185, 131, .2);background:#0d1117;border-radius:1rem;border:1px solid rgba(255,255,255,.08);overflow:hidden;display:flex;flex-direction:column}.terminal-header[data-v-5383815e]{background:#161b22;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.terminal-dots[data-v-5383815e]{display:flex;gap:.4rem}.dot[data-v-5383815e]{width:12px;height:12px;border-radius:50%;display:block}.terminal-title[data-v-5383815e]{font-family:Fira Code,monospace;font-size:.8rem;color:#8b949e}.terminal-body[data-v-5383815e]{padding:1.25rem 1.5rem;font-family:Fira Code,monospace;font-size:.8125rem;line-height:1.75;overflow-y:auto;max-height:420px;flex:1;scroll-behavior:smooth}.boot-line[data-v-5383815e]{color:#8b949e;white-space:pre-wrap}.chips-row[data-v-5383815e]{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.chip[data-v-5383815e]{font-family:Fira Code,monospace;font-size:.75rem;padding:.25rem .6rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:.375rem;color:var(--primary-color);cursor:pointer;transition:background .15s ease,border-color .15s ease}.chip[data-v-5383815e]:hover{background:var(--primary-color-alpha);border-color:var(--primary-color)}.history-entry[data-v-5383815e]{margin-top:.75rem}.user-line[data-v-5383815e]{color:#e6edf3;font-weight:500}.bot-line[data-v-5383815e]{color:#8b949e;white-space:pre-wrap;margin-top:.2rem}.reply-part[data-v-5383815e]{display:inline}.loading-line[data-v-5383815e]{margin-top:.5rem;color:var(--primary-color);font-family:Fira Code,monospace;font-size:.8125rem}.loading-text[data-v-5383815e]{color:#8b949e}.cursor-row[data-v-5383815e]{margin-top:.25rem}.cursor[data-v-5383815e]{color:var(--primary-color)}.cursor.blink[data-v-5383815e]{animation:blink-5383815e 1s step-end infinite}@keyframes blink-5383815e{0%,to{opacity:1}50%{opacity:0}}.contact-mode[data-v-5383815e]{margin-top:.75rem}.contact-field[data-v-5383815e]{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem}.field-label[data-v-5383815e]{color:var(--primary-color);white-space:nowrap;font-size:.8125rem;padding-top:.2rem}.field-input[data-v-5383815e]{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:.3rem;color:#e6edf3;font-family:Fira Code,monospace;font-size:.8125rem;padding:.25rem .5rem;flex:1;outline:none;transition:border-color .15s ease}.field-input[data-v-5383815e]:focus{border-color:var(--primary-color)}.field-input[data-v-5383815e]:disabled{opacity:.5}.field-textarea[data-v-5383815e]{resize:vertical;min-height:64px}.contact-actions[data-v-5383815e]{display:flex;gap:.5rem;margin-top:.75rem}.send-btn[data-v-5383815e]{font-family:Fira Code,monospace;font-size:.8125rem;padding:.35rem .9rem;background:var(--primary-color);color:#0d1117;border:none;border-radius:.375rem;cursor:pointer;font-weight:600;transition:opacity .15s ease}.send-btn[data-v-5383815e]:hover:not(:disabled){opacity:.85}.send-btn[data-v-5383815e]:disabled{opacity:.5;cursor:not-allowed}.cancel-btn[data-v-5383815e]{font-family:Fira Code,monospace;font-size:.8125rem;padding:.35rem .9rem;background:transparent;color:#8b949e;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;cursor:pointer;transition:border-color .15s ease,color .15s ease}.cancel-btn[data-v-5383815e]:hover{border-color:#8b949e;color:#e6edf3}.success-line[data-v-5383815e]{color:#4ade80!important}.error-line[data-v-5383815e]{color:#f87171!important}.input-bar[data-v-5383815e]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgba(255,255,255,.06);background:#0d1117;flex-shrink:0}.prompt-prefix[data-v-5383815e]{color:var(--primary-color);font-family:Fira Code,monospace;font-size:.875rem;font-weight:600;flex-shrink:0}.cmd-input[data-v-5383815e]{flex:1;background:transparent;border:none;outline:none;color:#e6edf3;font-family:Fira Code,monospace;font-size:.875rem;caret-color:var(--primary-color)}.cmd-input[data-v-5383815e]::placeholder{color:#8b949e80}.cmd-input[data-v-5383815e]:disabled{opacity:.5}.enter-btn[data-v-5383815e]{font-family:Fira Code,monospace;font-size:.875rem;padding:.25rem .6rem;background:var(--primary-color-alpha);border:1px solid var(--primary-color);border-radius:.3rem;color:var(--primary-color);cursor:pointer;transition:background .15s ease;flex-shrink:0}.enter-btn[data-v-5383815e]:hover:not(:disabled){background:var(--primary-color-alpha);filter:brightness(1.15)}.enter-btn[data-v-5383815e]:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 600px){.terminal-section[data-v-5383815e]{padding:0}.terminal-body[data-v-5383815e]{padding:1rem;font-size:.75rem;max-height:260px}.terminal-header[data-v-5383815e]{padding:.5rem .75rem}.cmd-input[data-v-5383815e],.prompt-prefix[data-v-5383815e]{font-size:.8rem}.chips-row[data-v-5383815e]{gap:.375rem}.chip[data-v-5383815e]{font-size:.7rem;padding:.2rem .5rem}}.highlight-wrapper[data-v-2acd7610]{display:inline-block;min-width:340px;position:relative;text-align:left;height:1.2em}.highlight[data-v-2acd7610]{display:inline-block;position:absolute;top:0;left:0;width:100%}.slide-up-enter-active[data-v-2acd7610],.slide-up-leave-active[data-v-2acd7610]{transition:all .6s cubic-bezier(.23,1,.32,1)}.slide-up-enter-from[data-v-2acd7610]{opacity:0;transform:translateY(20px);filter:blur(4px)}.slide-up-leave-to[data-v-2acd7610]{opacity:0;transform:translateY(-20px);filter:blur(4px)}.hero-section[data-v-2acd7610]{position:relative;min-height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;padding-top:80px;overflow:hidden}.hero-container[data-v-2acd7610]{display:flex;flex-direction:column;height:100%;justify-content:center}.hero-content[data-v-2acd7610]{display:flex;align-items:center;gap:4rem;margin-bottom:4rem}@media (max-width: 968px){.hero-content[data-v-2acd7610]{flex-direction:column;text-align:center;gap:3rem}}.hero-text[data-v-2acd7610]{flex:1;z-index:2}.badge[data-v-2acd7610]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary-color-alpha);border:1px solid var(--primary-color);border-radius:2rem;color:var(--primary-color);font-size:.875rem;font-weight:500;margin-bottom:1.5rem}.status-dot[data-v-2acd7610]{width:8px;height:8px;background-color:var(--primary-color);border-radius:50%;box-shadow:0 0 8px var(--primary-color);animation:pulse-2acd7610 2s infinite}.title-line.greeting[data-v-2acd7610]{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;opacity:.85;letter-spacing:-.01em}.hero-title[data-v-2acd7610]{font-size:3.5rem;line-height:1.1;margin-bottom:1.5rem;font-weight:700;letter-spacing:-.02em;display:flex;flex-direction:column;gap:.2rem}@media (max-width: 768px){.hero-title[data-v-2acd7610]{font-size:2.5rem;align-items:center}}.hero-title .title-line[data-v-2acd7610]{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:center}@media (min-width: 969px){.hero-title .title-line[data-v-2acd7610]{justify-content:flex-start}}.hero-title .highlight[data-v-2acd7610]{color:var(--primary-color);position:absolute;top:0;left:0;width:100%;white-space:nowrap}.hero-title .highlight[data-v-2acd7610]:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background:var(--primary-color-alpha);z-index:-1;transform:skew(-10deg)}.hero-description[data-v-2acd7610]{font-size:1.125rem;color:var(--color-text);margin-bottom:2rem;max-width:540px;line-height:1.6;opacity:.9}@media (max-width: 968px){.hero-description[data-v-2acd7610]{margin-left:auto;margin-right:auto}}.hero-actions[data-v-2acd7610]{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}@media (max-width: 968px){.hero-actions[data-v-2acd7610]{justify-content:center}}.btn-glow[data-v-2acd7610]{display:inline-flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;background:var(--primary-color);color:var(--on-primary);border:none;border-radius:2rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .3s ease;box-shadow:0 0 20px var(--primary-color-alpha)}.btn-glow[data-v-2acd7610]:hover{transform:translateY(-2px);box-shadow:0 0 30px var(--primary-color-alpha);filter:brightness(1.1)}.btn-outline[data-v-2acd7610]{display:inline-flex;align-items:center;padding:.875rem 1.5rem;background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:2rem;font-weight:500;text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease}.btn-outline[data-v-2acd7610]:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-color-alpha)}.hero-terminal[data-v-2acd7610]{flex:1;display:flex;align-items:center;min-width:0}.hero-terminal[data-v-2acd7610] .terminal-section{padding:0;width:100%}.hero-terminal[data-v-2acd7610] .terminal-card{height:480px}@media (max-width: 600px){.hero-terminal[data-v-2acd7610] .terminal-card{height:360px}}.tech-ticker[data-v-2acd7610]{margin-top:auto;width:100%;text-align:center;padding-bottom:4rem}.ticker-wrapper[data-v-2acd7610]{width:100%;overflow:hidden}.ticker-track[data-v-2acd7610]{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem;align-items:center;padding:0 1rem}.company-logo-item[data-v-2acd7610]{display:flex;align-items:center;justify-content:center;gap:.75rem;height:44px}.company-logo-item .tech-icon-logo[data-v-2acd7610]{width:32px;height:32px;object-fit:contain;filter:grayscale(100%) brightness(.8) contrast(.8);opacity:.6;transition:all .3s ease}.company-logo-item .company-logo-img[data-v-2acd7610]{max-width:140px;max-height:50px;width:auto;height:auto;object-fit:contain;filter:grayscale(100%) brightness(.8) contrast(.8);opacity:.6;transition:all .3s ease}.company-logo-item .company-name[data-v-2acd7610]{font-size:1.1rem;font-weight:600;color:var(--color-heading);opacity:.5;white-space:nowrap;transition:opacity .3s ease}.company-logo-item:hover .tech-icon-logo[data-v-2acd7610],.company-logo-item:hover .company-logo-img[data-v-2acd7610]{filter:grayscale(0%) brightness(1) contrast(1);opacity:1}.company-logo-item:hover .company-name[data-v-2acd7610]{opacity:.9;color:var(--primary-color)}@keyframes pulse-2acd7610{0%{transform:scale(.95);box-shadow:0 0 0 0 var(--primary-color)}70%{transform:scale(1);box-shadow:0 0 0 6px transparent}to{transform:scale(.95);box-shadow:0 0 0 0 transparent}}@media (max-width: 768px){.hero-title[data-v-2acd7610]{font-size:2.5rem}.hero-section[data-v-2acd7610]{padding-top:100px}}.projects-page[data-v-bd3e8965]{min-height:100vh;padding:3rem 2rem;position:relative}.projects-page[data-v-bd3e8965]:before{content:"";position:absolute;top:0;left:0;right:0;height:400px;background:radial-gradient(ellipse at 50% 0%,var(--primary-color-alpha) 0%,transparent 70%);pointer-events:none}.container[data-v-bd3e8965]{max-width:1100px;margin:0 auto;position:relative}.header-section[data-v-bd3e8965]{margin-bottom:4rem;text-align:center}.page-title[data-v-bd3e8965]{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;color:var(--color-heading);margin-bottom:1rem;letter-spacing:-.02em}.page-subtitle[data-v-bd3e8965]{font-size:1.125rem;line-height:1.6;color:var(--color-text);opacity:.8;max-width:600px;margin:0 auto}.projects-grid[data-v-bd3e8965]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 900px){.projects-grid[data-v-bd3e8965]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.projects-grid[data-v-bd3e8965]{grid-template-columns:1fr}}.project-card[data-v-bd3e8965]{position:relative;padding:1.75rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:1rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;cursor:pointer}.project-card[data-v-bd3e8965]:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000014;border-color:var(--primary-color)}.live-badge[data-v-bd3e8965]{position:absolute;top:1.25rem;right:1.25rem;display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.08em;color:#16a34a;text-transform:uppercase}.live-badge__dot[data-v-bd3e8965]{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:live-pulse-bd3e8965 1.8s ease-in-out infinite;flex-shrink:0}@keyframes live-pulse-bd3e8965{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #22c55e80}50%{opacity:.8;transform:scale(1.15);box-shadow:0 0 0 4px #22c55e00}}:root.dark .live-badge[data-v-bd3e8965]{background:rgba(34,197,94,.1);border-color:#22c55e40;color:#4ade80}:root.dark .live-badge .live-badge__dot[data-v-bd3e8965]{background:#4ade80}.project-title[data-v-bd3e8965]{font-size:1.25rem;font-weight:600;color:var(--color-heading);margin-bottom:.75rem;line-height:1.3;padding-right:3rem}.view-button[data-v-bd3e8965]{display:inline-flex;align-items:center;padding:.5rem .875rem .375rem;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:.375rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:auto;width:fit-content;align-self:flex-start}.view-button[data-v-bd3e8965]:hover{background:var(--primary-color);color:var(--on-primary)}.project-description[data-v-bd3e8965]{font-size:.9375rem;line-height:1.6;color:var(--color-text);opacity:.8;flex:1;margin-bottom:0}.project-tech[data-v-bd3e8965]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-tag[data-v-bd3e8965]{font-size:.75rem;color:var(--color-text);opacity:.6;font-weight:400}.project-details-page[data-v-55192b14]{min-height:100vh;padding:6rem 2rem 4rem}.container[data-v-55192b14]{max-width:900px;margin:0 auto}.back-button[data-v-55192b14]{display:inline-flex;align-items:center;background:transparent;color:var(--primary-color);border:none;font-size:.9375rem;font-weight:500;cursor:pointer;margin-bottom:2rem;padding:0;transition:opacity .3s ease}.back-button[data-v-55192b14]:hover{opacity:.7}.project-header[data-v-55192b14]{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}@media (max-width: 768px){.project-header[data-v-55192b14]{flex-direction:column;align-items:flex-start;gap:1.5rem}}.project-title[data-v-55192b14]{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;color:var(--color-heading);letter-spacing:-.02em;margin:0}.project-link[data-v-55192b14]{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary-color);color:var(--on-primary);text-decoration:none;border-radius:.5rem;font-size:.9375rem;font-weight:500;transition:all .3s ease;white-space:nowrap}.project-link[data-v-55192b14]:hover{background:var(--primary-color-dark)}.project-links[data-v-55192b14]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.project-links[data-v-55192b14]{width:100%}}.project-link--github[data-v-55192b14]{background:#24292f;color:#fff}.project-link--github[data-v-55192b14]:hover{background:#1c2128}.project-link--npm[data-v-55192b14]{background:#cb3837;color:#fff}.project-link--npm[data-v-55192b14]:hover{background:#a02d2c}.project-carousel[data-v-55192b14]{margin-bottom:3rem;position:relative}.project-carousel .carousel-container[data-v-55192b14]{position:relative;border-radius:1rem;overflow:hidden;border:1px solid var(--color-border);background:var(--color-background-soft);display:flex;align-items:center;justify-content:center;aspect-ratio:16/9}@media (max-width: 768px){.project-carousel .carousel-container[data-v-55192b14]{aspect-ratio:4/3}}.project-carousel .carousel-slide[data-v-55192b14]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.project-carousel .carousel-slide img[data-v-55192b14]{max-width:100%;max-height:100%;object-fit:contain;display:block}.project-carousel .carousel-fade-enter-active[data-v-55192b14],.project-carousel .carousel-fade-leave-active[data-v-55192b14]{transition:all .3s ease-in}.project-carousel .carousel-fade-enter-from[data-v-55192b14]{opacity:0;transform:scale(.98);filter:blur(4px)}.project-carousel .carousel-fade-leave-to[data-v-55192b14]{opacity:0;transform:scale(1.02);filter:blur(4px)}.project-carousel .carousel-control[data-v-55192b14]{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.3);color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-carousel .carousel-control[data-v-55192b14]:hover{background:var(--primary-color);transform:translateY(-50%) scale(1.1)}.project-carousel .carousel-control.prev[data-v-55192b14]{left:1rem}.project-carousel .carousel-control.next[data-v-55192b14]{right:1rem}@media (max-width: 768px){.project-carousel .carousel-control[data-v-55192b14]{width:32px;height:32px;font-size:.8rem}}.project-carousel .carousel-indicators[data-v-55192b14]{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.project-carousel .carousel-indicators .indicator-dot[data-v-55192b14]{width:8px;height:8px;border-radius:50%;background:var(--color-border);border:none;padding:0;cursor:pointer;transition:all .3s ease}.project-carousel .carousel-indicators .indicator-dot.active[data-v-55192b14]{background:var(--primary-color);width:24px;border-radius:4px}.project-carousel .carousel-indicators .indicator-dot[data-v-55192b14]:hover:not(.active){background:var(--color-text);opacity:.5}.project-content[data-v-55192b14]{display:flex;flex-direction:column;gap:3rem}.project-description[data-v-55192b14]{font-size:1.0625rem;line-height:1.8;color:var(--color-text)}.project-description[data-v-55192b14] a{color:var(--primary-color);text-decoration:none;font-weight:500}.project-description[data-v-55192b14] a:hover{text-decoration:underline}.project-description[data-v-55192b14] strong{color:var(--color-heading);font-weight:600}.project-description[data-v-55192b14] br{display:block;content:"";margin-top:1rem}.project-article-link[data-v-55192b14]{padding:1.25rem 1.5rem;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-background-soft)}.project-article-link a[data-v-55192b14]{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-color);text-decoration:none;font-weight:500;font-size:.9375rem}.project-article-link a[data-v-55192b14]:hover{text-decoration:underline}.project-tech-section[data-v-55192b14]{padding-top:2rem;border-top:1px solid var(--color-border)}.tech-title[data-v-55192b14]{font-size:1.25rem;font-weight:600;color:var(--color-heading);margin-bottom:1.5rem}.tech-list[data-v-55192b14]{display:flex;flex-wrap:wrap;gap:.75rem}.tech-tag[data-v-55192b14]{padding:.5rem 1rem;background:var(--color-background-mute);border:1px solid var(--color-border);border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text);transition:all .3s ease}.tech-tag[data-v-55192b14]:hover{background:var(--color-background-soft);border-color:var(--primary-color)}:root.dark .project-header[data-v-55192b14],:root.dark .project-tech-section[data-v-55192b14],:root.dark .project-article-link[data-v-55192b14]{border-color:#ffffff1a}:root.dark .project-carousel .carousel-container[data-v-55192b14]{border-color:#ffffff1a}:root:not(.dark) .project-header[data-v-55192b14],:root:not(.dark) .project-tech-section[data-v-55192b14],:root:not(.dark) .project-article-link[data-v-55192b14]{border-color:#0000001a}:root:not(.dark) .project-carousel .carousel-container[data-v-55192b14]{border-color:#0000001a}.about-page[data-v-2c0bfdfa]{min-height:100vh;padding:3rem 2rem;position:relative}.about-page[data-v-2c0bfdfa]:before{content:"";position:absolute;top:0;left:0;right:0;height:400px;background:radial-gradient(ellipse at 50% 0%,var(--primary-color-alpha) 0%,transparent 70%);pointer-events:none}.container[data-v-2c0bfdfa]{max-width:1100px;margin:0 auto;position:relative}.page-title[data-v-2c0bfdfa]{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;color:var(--color-heading);margin-bottom:2.5rem;letter-spacing:-.02em}.about-intro[data-v-2c0bfdfa]{display:grid;grid-template-columns:1fr 280px;gap:4rem;align-items:start}@media (max-width: 768px){.about-intro[data-v-2c0bfdfa]{grid-template-columns:1fr;gap:3rem}}.about-text p[data-v-2c0bfdfa]{font-size:1.0625rem;line-height:1.8;color:var(--color-text);margin-bottom:1.5rem}.about-text p[data-v-2c0bfdfa]:last-child{margin-bottom:0}.about-text p a[data-v-2c0bfdfa]{color:var(--primary-color);text-decoration:none;font-weight:500}.about-text p a[data-v-2c0bfdfa]:hover{text-decoration:underline}.about-text .lead[data-v-2c0bfdfa]{font-size:1.1875rem;font-weight:500;color:var(--color-heading)}.about-text .cta-line[data-v-2c0bfdfa]{font-style:italic;opacity:.85}.about-text .cta-line a[data-v-2c0bfdfa]{opacity:1;color:var(--primary-color)}.avatar-wrapper[data-v-2c0bfdfa]{border-radius:1rem;overflow:hidden;border:1px solid var(--color-border)}.avatar-img[data-v-2c0bfdfa]{width:100%;height:280px;object-fit:cover;object-position:center top;display:block}.about-stats[data-v-2c0bfdfa]{display:flex;flex-direction:column;gap:1rem;position:sticky;top:6rem}@media (max-width: 768px){.about-stats[data-v-2c0bfdfa]{flex-direction:row;flex-wrap:wrap;position:static}}.stat-card[data-v-2c0bfdfa]{padding:1.25rem 1.5rem;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-background-soft);opacity:0}@media (max-width: 768px){.stat-card[data-v-2c0bfdfa]{flex:1 1 calc(50% - .5rem)}}.stat-number[data-v-2c0bfdfa]{display:block;font-size:2rem;font-weight:700;color:var(--primary-color);line-height:1;margin-bottom:.375rem}.stat-label[data-v-2c0bfdfa]{font-size:.8125rem;color:var(--color-text);opacity:.7;font-weight:500;text-transform:uppercase;letter-spacing:.05em}:root.dark .stat-card[data-v-2c0bfdfa]{border-color:#ffffff14}:root:not(.dark) .stat-card[data-v-2c0bfdfa]{border-color:#00000014}.experience-timeline-page[data-v-a82c68a8]{padding:3rem 2rem;background:transparent;color:var(--color-text);min-height:100vh}.page-title[data-v-a82c68a8]{text-align:center;font-size:clamp(2.5rem,5vw,3.5rem);color:var(--color-heading);margin-bottom:3rem;font-weight:700}.timeline-container[data-v-a82c68a8]{display:grid;gap:2rem;max-width:1100px;margin:0 auto}.experience-card[data-v-a82c68a8]{background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:1rem;padding:2rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;text-align:left}.experience-card[data-v-a82c68a8]:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000014;border-color:var(--primary-color)}.card-header[data-v-a82c68a8]{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.company-logo[data-v-a82c68a8]{width:60px;height:60px;object-fit:contain;border-radius:.5rem;background-color:var(--color-background);padding:5px;border:1px solid var(--color-border);flex-shrink:0}.header-text[data-v-a82c68a8]{display:flex;flex-direction:column;gap:.25rem}.job-title[data-v-a82c68a8]{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600;color:var(--color-heading);margin:0}.company-name[data-v-a82c68a8]{font-size:clamp(1rem,2.5vw,1.1rem);color:var(--primary-color);font-weight:500;margin:0}.job-duration[data-v-a82c68a8]{font-size:clamp(.85rem,2vw,.9rem);color:var(--color-text);opacity:.8;margin:0}.job-description[data-v-a82c68a8]{font-size:clamp(.9rem,2.2vw,1rem);line-height:1.7;color:var(--color-text)}.key-achievements[data-v-a82c68a8]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.key-achievements .achievements-title[data-v-a82c68a8]{font-size:clamp(1rem,2.5vw,1.1rem);font-weight:600;color:var(--color-heading);margin-bottom:.75rem}.key-achievements ul[data-v-a82c68a8]{list-style-type:disc;padding-left:20px;margin:0;color:var(--color-text)}.key-achievements ul li[data-v-a82c68a8]{font-size:clamp(.85rem,2vw,.95rem);line-height:1.6;margin-bottom:.5rem}.key-achievements ul li[data-v-a82c68a8]:last-child{margin-bottom:0}@media (max-width: 768px){.experience-timeline-page[data-v-a82c68a8]{padding:3rem 1.25rem 2rem}.page-title[data-v-a82c68a8]{font-size:2rem;margin-bottom:2rem}.experience-card[data-v-a82c68a8]{padding:1.5rem}.card-header[data-v-a82c68a8]{gap:1rem;align-items:center}.company-logo[data-v-a82c68a8]{width:50px;height:50px}.job-title[data-v-a82c68a8]{font-size:1.15rem}.company-name[data-v-a82c68a8]{font-size:1rem}}@media (max-width: 480px){.page-title[data-v-a82c68a8]{font-size:1.8rem}.card-header[data-v-a82c68a8]{flex-direction:column;align-items:flex-start}.company-logo[data-v-a82c68a8]{margin-bottom:.5rem}}.experience-view[data-v-5ac65a13]{text-align:center;position:relative;min-height:100vh}:root{--primary-color: #1f7a52;--primary-color-dark: #196342;--primary-color-alpha: rgba(31, 122, 82, .16);--on-primary: #ffffff;--color-background: #ffffff;--color-background-soft: #f8f8f8;--color-background-mute: #f2f2f2;--color-text: #2c3e50;--color-heading: #2c3e50;--color-border: rgba(60, 60, 60, .12);--border-color: var(--color-border);--grid-color: rgba(0, 0, 0, .04);--font-family: "Poppins", system-ui, -apple-system, sans-serif;--success-color: #22c55e;--error-color: #dc2626;--error-bg: #fef2f2;color-scheme:light}:root.dark{--primary-color: #42b983;--primary-color-dark: #3aa876;--primary-color-alpha: rgba(66, 185, 131, .2);--on-primary: #0f2419;--color-background: #181818;--color-background-soft: #222222;--color-background-mute: #282828;--color-text: #ffffff;--color-heading: #ffffff;--color-border: rgba(84, 84, 84, .48);--grid-color: rgba(255, 255, 255, .05);--error-color: #f87171;--error-bg: rgba(248, 113, 113, .12);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);line-height:1.6;min-height:100vh;color:var(--color-text);background-color:var(--color-background);background-image:radial-gradient(circle at 50% 0%,var(--primary-color-alpha),transparent 70%),linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:100% 100vh,50px 50px,50px 50px;background-repeat:no-repeat,repeat,repeat;transition:color .3s ease,background-color .3s ease}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-weight:700;color:var(--color-heading)}p{margin-bottom:1rem;color:var(--color-text)}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
