@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323:wght@400&display=swap";:root{--bg: #0d0d0d;--bg-card: #111111;--bg-card2: #161616;--border: #2a2a2a;--green: #00ff41;--cyan: #00e5ff;--purple: #bf5af2;--pink: #ff2d78;--yellow: #ffd60a;--text: #e0e0e0;--text-dim: #666666;--pixel-shadow: 4px 4px 0px #000;--pixel-border: 2px solid var(--green);--footer-h: 3.25rem}:root[data-theme=light]{--bg: #eef0ec;--bg-card: #ffffff;--bg-card2: #e6e9e3;--border: #c9cdc4;--green: #00992a;--cyan: #0086a3;--purple: #8a35d4;--pink: #d61f63;--yellow: #9a7400;--text: #14171a;--text-dim: #5a5f63;--pixel-shadow: 4px 4px 0px rgba(0, 0, 0, .18)}:root[data-theme=cyberpunk]{--bg: #05060a;--bg-card: #0c0e16;--bg-card2: #13131f;--border: #2a3550;--green: #f3e600;--cyan: #55ead4;--purple: #bd2cff;--pink: #c5003c;--yellow: #ffcf00;--text: #e7f0ff;--text-dim: #6a7da0;--pixel-shadow: 4px 4px 0px #000}.theme-glitching #fullpage{animation:glitch-screen .7s steps(2,end)}@keyframes glitch-screen{0%{filter:none}12%{filter:hue-rotate(40deg) contrast(1.5) saturate(1.7)}24%{filter:invert(.14) hue-rotate(-30deg)}36%{filter:none}50%{filter:contrast(1.7) brightness(1.25) saturate(1.4)}64%{filter:invert(.08) hue-rotate(25deg)}80%{filter:contrast(1.3)}to{filter:none}}@media(prefers-reduced-motion:reduce){.theme-glitching #fullpage{animation:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100vh;overflow:hidden;font-size:clamp(14px,.55vw + 11px,22px)}body{height:100vh;overflow:hidden;background-color:var(--bg);color:var(--text);font-family:VT323,monospace;font-size:1rem;line-height:1.6;transition:background-color .3s,color .3s}@media(max-width:768px){html,body{height:auto;overflow-x:hidden;overflow-y:auto}}#fullpage{transition:transform .55s cubic-bezier(.77,0,.175,1);will-change:transform}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:9999}h1,h2,h3,h4{font-family:"Press Start 2P",monospace;line-height:1.4}a{color:var(--green);text-decoration:none}a:hover{color:var(--cyan)}.section{height:100vh;overflow:hidden;padding:5rem 0}@media(min-width:769px){.section{padding-bottom:var(--footer-h)}}.container{width:min(92vw,70rem);margin:0 auto;padding:0 1.5rem}@media(max-width:768px){.section{height:auto;min-height:100dvh;overflow:visible;padding:6rem 0 4rem}}.section-title{font-family:"Press Start 2P",monospace;font-size:clamp(.875rem,1.6vw,1.375rem);color:var(--green);margin-bottom:3rem;display:flex;align-items:center;gap:.75rem}.section-title:before{content:">";color:var(--cyan)}.section-title:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--border),transparent)}.pixel-btn{font-family:"Press Start 2P",monospace;font-size:.6875rem;padding:.75rem 1.5rem;background:transparent;border:2px solid var(--green);color:var(--green);cursor:pointer;position:relative;transition:all .15s;display:inline-block;box-shadow:4px 4px 0 var(--green)}.pixel-btn:hover{background:var(--green);color:var(--bg);transform:translate(-2px,-2px);box-shadow:6px 6px color-mix(in srgb,var(--green) 30%,transparent)}.pixel-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--green)}.pixel-btn.secondary{border-color:var(--cyan);color:var(--cyan);box-shadow:4px 4px 0 var(--cyan)}.pixel-btn.secondary:hover{background:var(--cyan);color:var(--bg);box-shadow:6px 6px color-mix(in srgb,var(--cyan) 30%,transparent)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--green)}::selection{background:var(--green);color:var(--bg)}.navbar[data-v-7f237a8c]{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 0;transition:background .3s,padding .3s}.navbar.scrolled[data-v-7f237a8c]{background:color-mix(in srgb,var(--bg) 95%,transparent);padding:.75rem 0;border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}.nav-inner[data-v-7f237a8c]{display:flex;align-items:center;justify-content:space-between}.nav-controls[data-v-7f237a8c]{display:flex;align-items:center;gap:1.75rem}.lang-toggle[data-v-7f237a8c]{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0;height:2.25rem;padding:0 .6rem;border:1px solid var(--border);border-radius:1.125rem;background:var(--bg-card);cursor:pointer;font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:.5px;transition:border-color .2s,transform .2s,box-shadow .3s}.lang-toggle[data-v-7f237a8c]:hover{border-color:var(--green);transform:translateY(-1px);box-shadow:0 0 10px color-mix(in srgb,var(--green) 25%,transparent)}.lang-seg[data-v-7f237a8c]{color:var(--text-dim);transition:color .2s,text-shadow .2s}.lang-seg.active[data-v-7f237a8c]{color:var(--green);text-shadow:0 0 8px color-mix(in srgb,var(--green) 50%,transparent)}.lang-sep[data-v-7f237a8c]{color:var(--border)}.theme-toggle[data-v-7f237a8c]{position:relative;flex-shrink:0;width:2.25rem;height:2.25rem;border:1px solid var(--border);border-radius:50%;background:var(--bg-card);cursor:pointer;display:grid;place-items:center;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .3s}.theme-toggle[data-v-7f237a8c]:hover{border-color:var(--green);transform:translateY(-1px) rotate(8deg);box-shadow:0 0 10px color-mix(in srgb,var(--green) 25%,transparent)}.toggle-track[data-v-7f237a8c]{position:relative;width:1.3rem;height:1.3rem}.ti[data-v-7f237a8c]{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.2) rotate(-160deg);transition:opacity .4s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}.toggle-track.is-dark .ti-moon[data-v-7f237a8c],.toggle-track.is-light .ti-sun[data-v-7f237a8c],.toggle-track.is-cyberpunk .ti-samurai[data-v-7f237a8c]{opacity:1;transform:scale(1) rotate(0)}.ti-moon[data-v-7f237a8c]{color:var(--cyan)}.ti-sun[data-v-7f237a8c]{color:var(--yellow)}.glitch-overlay[data-v-7f237a8c]{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:0}.glitch-overlay.active[data-v-7f237a8c]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay;animation:glitch-flicker-7f237a8c .7s steps(2,end) forwards,glitch-noise-7f237a8c .7s steps(5,end) forwards}.glitch-overlay.active[data-v-7f237a8c]:before,.glitch-overlay.active[data-v-7f237a8c]:after{content:"";position:absolute;inset:0;mix-blend-mode:screen}.glitch-overlay.active[data-v-7f237a8c]:before{background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(0,0,0,.35) 2px,rgba(0,0,0,.35) 3px),color-mix(in srgb,var(--cyan) 70%,transparent);animation:glitch-slice-1-7f237a8c .7s steps(6,end) forwards}.glitch-overlay.active[data-v-7f237a8c]:after{background:color-mix(in srgb,var(--pink) 70%,transparent);animation:glitch-slice-2-7f237a8c .7s steps(6,end) forwards}@keyframes glitch-flicker-7f237a8c{0%{opacity:0}5%{opacity:1}25%{opacity:.4}35%{opacity:1}55%{opacity:.7}70%{opacity:1}85%{opacity:.5}to{opacity:0}}@keyframes glitch-noise-7f237a8c{0%{background-position:0 0}25%{background-position:-60px 30px}50%{background-position:40px -50px}75%{background-position:-30px -20px}to{background-position:50px 40px}}@keyframes glitch-slice-1-7f237a8c{0%{clip-path:inset(8% 0 78% 0);transform:translate(-12px) scaleX(1.02)}20%{clip-path:inset(62% 0 22% 0);transform:translate(9px)}40%{clip-path:inset(33% 0 52% 0);transform:translate(-6px)}55%{clip-path:inset(88% 0 2% 0);transform:translate(14px) scaleX(1.04)}70%{clip-path:inset(20% 0 66% 0);transform:translate(-10px)}85%{clip-path:inset(46% 0 39% 0);transform:translate(7px)}to{clip-path:inset(0 0 100% 0);transform:translate(0)}}@keyframes glitch-slice-2-7f237a8c{0%{clip-path:inset(70% 0 14% 0);transform:translate(11px)}20%{clip-path:inset(20% 0 66% 0);transform:translate(-11px)}40%{clip-path:inset(50% 0 36% 0);transform:translate(8px)}55%{clip-path:inset(4% 0 88% 0);transform:translate(-14px) scaleX(1.03)}70%{clip-path:inset(78% 0 8% 0);transform:translate(12px)}85%{clip-path:inset(38% 0 47% 0);transform:translate(-7px)}to{clip-path:inset(100% 0 0 0);transform:translate(0)}}@media(prefers-reduced-motion:reduce){.glitch-overlay.active[data-v-7f237a8c],.glitch-overlay.active[data-v-7f237a8c]:before,.glitch-overlay.active[data-v-7f237a8c]:after{animation:none}}.nav-logo[data-v-7f237a8c]{font-family:"Press Start 2P",monospace;font-size:1rem;color:var(--text);text-decoration:none;letter-spacing:2px}.logo-bracket[data-v-7f237a8c]{color:var(--green)}.nav-links[data-v-7f237a8c]{list-style:none;display:flex;gap:2rem}.nav-links a[data-v-7f237a8c]{font-family:VT323,monospace;font-size:1.25rem;color:var(--text-dim);text-decoration:none;transition:color .2s;letter-spacing:1px}.nav-links a[data-v-7f237a8c]:hover{color:var(--green)}.nav-prefix[data-v-7f237a8c]{color:var(--green);opacity:.6}.menu-toggle[data-v-7f237a8c]{display:none;flex-direction:column;gap:.3125rem;background:none;border:none;cursor:pointer;padding:.25rem}.menu-toggle span[data-v-7f237a8c]{display:block;width:1.375rem;height:2px;background:var(--green)}@media(max-width:640px){.menu-toggle[data-v-7f237a8c]{display:flex}.nav-controls[data-v-7f237a8c]{gap:.85rem}.nav-links[data-v-7f237a8c]{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:color-mix(in srgb,var(--bg) 98%,transparent);border-bottom:1px solid var(--border);padding:1rem 0}.nav-links.open[data-v-7f237a8c]{display:flex}.nav-links li[data-v-7f237a8c]{padding:.625rem 1.5rem}}.hero[data-v-f2fd78e8]{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:6.25rem;position:relative}.container[data-v-f2fd78e8]{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-greeting[data-v-f2fd78e8]{font-family:VT323,monospace;font-size:1.375rem;color:var(--text-dim);margin-bottom:.75rem}.prompt[data-v-f2fd78e8]{color:var(--green);margin-right:.5rem}.hero-name[data-v-f2fd78e8]{font-family:"Press Start 2P",monospace;font-size:clamp(1.5rem,4vw,2.625rem);line-height:1.3;margin-bottom:1.25rem}.name-line[data-v-f2fd78e8]{display:block}.accent[data-v-f2fd78e8]{color:var(--green);text-shadow:0 0 20px color-mix(in srgb,var(--green) 40%,transparent)}.hero-role[data-v-f2fd78e8]{font-family:VT323,monospace;font-size:1.625rem;color:var(--cyan);margin-bottom:1.5rem;min-height:2rem}.role-prefix[data-v-f2fd78e8]{color:var(--text-dim);margin-right:.5rem}.cursor[data-v-f2fd78e8]{color:var(--green);font-weight:700}.cursor.blink[data-v-f2fd78e8]{animation:blink-f2fd78e8 .8s step-end infinite}@keyframes blink-f2fd78e8{50%{opacity:0}}.hero-desc[data-v-f2fd78e8]{font-family:VT323,monospace;font-size:1.25rem;color:var(--text-dim);max-width:30rem;margin-bottom:2rem;line-height:1.5}.hero-actions[data-v-f2fd78e8]{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}.hero-stats[data-v-f2fd78e8]{display:flex;gap:2rem;border-top:1px solid var(--border);padding-top:1.5rem}.stat[data-v-f2fd78e8]{display:flex;flex-direction:column;gap:.25rem}.stat-value[data-v-f2fd78e8]{font-family:"Press Start 2P",monospace;font-size:1.125rem;color:var(--green)}.stat-label[data-v-f2fd78e8]{font-family:VT323,monospace;font-size:1rem;color:var(--text-dim)}.hero-visual[data-v-f2fd78e8]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.pixel-avatar[data-v-f2fd78e8]{border:2px solid var(--border);padding:.75rem;position:relative;background:var(--bg-card);display:inline-block}.pixel-avatar[data-v-f2fd78e8]:before{content:"avatar.png";position:absolute;top:-.75rem;left:.75rem;font-family:VT323,monospace;font-size:.875rem;color:var(--text-dim);background:var(--bg);padding:0 .375rem}.avatar-img[data-v-f2fd78e8]{display:block;width:clamp(11.875rem,16vw,17rem);height:auto;filter:grayscale(20%) contrast(1.05);transition:filter .3s}.pixel-avatar:hover .avatar-img[data-v-f2fd78e8]{filter:grayscale(0%) contrast(1.1) drop-shadow(0 0 12px color-mix(in srgb,var(--green) 30%,transparent))}.floating-tags[data-v-f2fd78e8]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.tag[data-v-f2fd78e8]{font-family:"Press Start 2P",monospace;font-size:.5625rem;padding:.375rem .625rem;border:1px solid var(--border);color:var(--text-dim);background:var(--bg-card);transition:all .2s}.tag[data-v-f2fd78e8]:hover{border-color:var(--green);color:var(--green);background:color-mix(in srgb,var(--green) 5%,transparent)}.scroll-hint[data-v-f2fd78e8]{position:absolute;bottom:calc(var(--footer-h) + .6rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.25rem;font-family:VT323,monospace;font-size:.875rem;color:var(--text-dim);animation:bounce-f2fd78e8 2s ease-in-out infinite}@keyframes bounce-f2fd78e8{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-.5rem)}}@media(max-width:768px){.hero[data-v-f2fd78e8]{min-height:100dvh;padding-top:6rem;padding-bottom:4rem}.container[data-v-f2fd78e8]{grid-template-columns:1fr;gap:2rem}.hero-visual[data-v-f2fd78e8]{order:-1}.avatar-img[data-v-f2fd78e8]{width:clamp(8rem,38vw,11rem)}.scroll-hint[data-v-f2fd78e8]{display:none}}.about-grid[data-v-710530a1]{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}.terminal-window[data-v-710530a1]{background:var(--bg-card);border:1px solid var(--border)}.terminal-bar[data-v-710530a1]{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-card2);border-bottom:1px solid var(--border)}.dot[data-v-710530a1]{width:.625rem;height:.625rem;border-radius:50%}.dot.red[data-v-710530a1]{background:#ff5f57}.dot.yellow[data-v-710530a1]{background:#ffd60a}.dot.green[data-v-710530a1]{background:#28c840}.terminal-title[data-v-710530a1]{font-family:VT323,monospace;font-size:.875rem;color:var(--text-dim);margin-left:auto;margin-right:auto}.terminal-body[data-v-710530a1]{padding:1.25rem}.terminal-line[data-v-710530a1]{font-family:VT323,monospace;font-size:1.125rem;line-height:1.8;min-height:1.8em}.comment[data-v-710530a1]{color:#444}.key[data-v-710530a1]{color:var(--cyan)}.sep[data-v-710530a1]{color:var(--text-dim)}.string[data-v-710530a1]{color:var(--yellow)}.array[data-v-710530a1]{color:var(--purple)}.bool[data-v-710530a1]{color:var(--green)}.plain[data-v-710530a1]{color:var(--text-dim)}.about-details[data-v-710530a1]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-card[data-v-710530a1]{display:flex;gap:.75rem;align-items:flex-start;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);transition:border-color .2s,transform .2s}.detail-card[data-v-710530a1]:hover{border-color:var(--green);transform:translateY(-2px)}.card-icon[data-v-710530a1]{font-size:1.5rem;flex-shrink:0}.card-title[data-v-710530a1]{font-family:"Press Start 2P",monospace;font-size:.625rem;color:var(--text);margin-bottom:.375rem}.card-desc[data-v-710530a1]{font-family:VT323,monospace;font-size:1rem;color:var(--text-dim);line-height:1.4}@media(max-width:900px){.about-grid[data-v-710530a1]{grid-template-columns:1fr}}@media(max-width:480px){.about-details[data-v-710530a1]{grid-template-columns:1fr}}.skills-section[data-v-fbe6ef50]{background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.skills-layout[data-v-fbe6ef50]{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:3rem}.group-title[data-v-fbe6ef50]{font-family:"Press Start 2P",monospace;font-size:.6875rem;color:var(--text-dim);margin-bottom:1.25rem}.group-bracket[data-v-fbe6ef50]{color:var(--green)}.skill-list[data-v-fbe6ef50]{display:flex;flex-direction:column;gap:.875rem;max-height:11.75rem;overflow-y:auto;padding-right:.375rem;scrollbar-width:thin;scrollbar-color:var(--group-color) var(--bg)}.skill-list[data-v-fbe6ef50]::-webkit-scrollbar{width:4px}.skill-list[data-v-fbe6ef50]::-webkit-scrollbar-track{background:var(--bg);border:1px solid var(--border)}.skill-list[data-v-fbe6ef50]::-webkit-scrollbar-thumb{background:var(--group-color);box-shadow:0 0 6px var(--group-color)}.skill-header[data-v-fbe6ef50]{display:flex;justify-content:space-between;margin-bottom:.375rem}.skill-name[data-v-fbe6ef50]{font-family:VT323,monospace;font-size:1.125rem;color:var(--text)}.skill-level[data-v-fbe6ef50]{font-family:VT323,monospace;font-size:1rem;color:var(--text-dim)}.skill-bar[data-v-fbe6ef50]{height:.5rem;background:var(--bg);border:1px solid var(--border);position:relative;overflow:hidden}.skill-fill[data-v-fbe6ef50]{height:100%;transition:width 1s ease}.skill-fill.green[data-v-fbe6ef50]{background:var(--green);box-shadow:0 0 8px color-mix(in srgb,var(--green) 50%,transparent)}.skill-fill.cyan[data-v-fbe6ef50]{background:var(--cyan);box-shadow:0 0 8px color-mix(in srgb,var(--cyan) 50%,transparent)}.skill-fill.purple[data-v-fbe6ef50]{background:var(--purple);box-shadow:0 0 8px color-mix(in srgb,var(--purple) 50%,transparent)}.skill-fill.yellow[data-v-fbe6ef50]{background:var(--yellow);box-shadow:0 0 8px color-mix(in srgb,var(--yellow) 50%,transparent)}.skill-fill[data-v-fbe6ef50]:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0px,transparent 6px,rgba(0,0,0,.3) 6px,rgba(0,0,0,.3) 8px)}.tools-section[data-v-fbe6ef50]{padding-top:2rem;border-top:1px solid var(--border)}.tools-grid[data-v-fbe6ef50]{display:flex;flex-wrap:wrap;gap:.625rem}.tool-badge[data-v-fbe6ef50]{font-family:VT323,monospace;font-size:1rem;padding:.25rem .75rem;border:1px solid var(--border);color:var(--text-dim);background:var(--bg);transition:all .2s;cursor:default}.tool-badge[data-v-fbe6ef50]:hover{border-color:var(--cyan);color:var(--cyan);background:color-mix(in srgb,var(--cyan) 5%,transparent)}@media(max-width:640px){.skills-layout[data-v-fbe6ef50]{grid-template-columns:1fr}}.modal-overlay[data-v-377721c8]{position:fixed;inset:0;z-index:1000;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:fadeIn-377721c8 .2s ease}@keyframes fadeIn-377721c8{0%{opacity:0}to{opacity:1}}.modal[data-v-377721c8]{position:relative;background:var(--bg-card);border:1px solid var(--border);width:min(92vw,62rem);height:88dvh;overflow:hidden;animation:slideUp-377721c8 .25s ease}@keyframes slideUp-377721c8{0%{transform:translateY(1.5rem);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close[data-v-377721c8]{position:absolute;top:1rem;right:1rem;background:none;border:1px solid var(--border);color:var(--text-dim);font-family:VT323,monospace;font-size:1.125rem;width:2rem;height:2rem;cursor:pointer;z-index:10;transition:border-color .2s,color .2s}.modal-close[data-v-377721c8]:hover{border-color:var(--green);color:var(--green)}.modal-grid[data-v-377721c8]{display:grid;grid-template-columns:1.1fr 1fr;height:100%}.modal-left[data-v-377721c8]{display:flex;flex-direction:column;gap:.875rem;padding:1.75rem 1.25rem 1.75rem 1.75rem;border-right:1px solid var(--border);overflow:hidden}.carousel-stage[data-v-377721c8]{flex:1;min-height:0;background:var(--bg);border:1px solid var(--border);position:relative;overflow:hidden;cursor:zoom-in}.expand-hint[data-v-377721c8]{position:absolute;bottom:.5rem;right:.625rem;font-size:1.125rem;color:#ffffff80;pointer-events:none;opacity:0;transition:opacity .2s}.carousel-stage:hover .expand-hint[data-v-377721c8]{opacity:1}.carousel-slide[data-v-377721c8]{width:100%;height:100%}.carousel-slide img[data-v-377721c8],.carousel-slide video[data-v-377721c8]{width:100%;height:100%;object-fit:cover;display:block}.placeholder[data-v-377721c8]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;cursor:default;background:repeating-linear-gradient(45deg,var(--bg),var(--bg) 8px,var(--bg-card2) 8px,var(--bg-card2) 16px)}.placeholder-icon[data-v-377721c8]{font-size:3rem}.placeholder-icon img[data-v-377721c8]{width:4rem;height:4rem;object-fit:contain;display:block}.placeholder-label[data-v-377721c8]{font-family:VT323,monospace;font-size:.875rem;color:var(--text-dim)}.carousel-nav[data-v-377721c8]{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.nav-btn[data-v-377721c8]{background:none;border:1px solid var(--border);color:var(--text-dim);font-family:VT323,monospace;font-size:1rem;padding:.125rem .625rem;cursor:pointer;transition:border-color .2s,color .2s}.nav-btn[data-v-377721c8]:hover{border-color:var(--green);color:var(--green)}.carousel-dots[data-v-377721c8]{display:flex;gap:.5rem}.carousel-dot[data-v-377721c8]{width:.5rem;height:.5rem;border:1px solid var(--border);cursor:pointer;transition:background .2s,border-color .2s}.carousel-dot.active[data-v-377721c8]{background:var(--green);border-color:var(--green)}.m-tags[data-v-377721c8]{display:flex;flex-wrap:wrap;gap:.375rem;flex-shrink:0;overflow-y:auto;max-height:5.5rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.badge[data-v-377721c8]{font-family:VT323,monospace;font-size:.875rem;padding:.125rem .5rem;border:1px solid var(--border);color:var(--purple);background:color-mix(in srgb,var(--purple) 5%,transparent);height:fit-content}.modal-links[data-v-377721c8]{display:flex;gap:.75rem;flex-wrap:wrap;flex-shrink:0;margin-top:1.375rem}.pixel-btn[data-v-377721c8]{font-family:VT323,monospace;font-size:1.0625rem;padding:.25rem 1rem;border:1px solid var(--green);color:var(--green);background:color-mix(in srgb,var(--green) 5%,transparent);text-decoration:none;cursor:pointer;transition:background .2s,box-shadow .2s}.pixel-btn[data-v-377721c8]:hover{background:color-mix(in srgb,var(--green) 12%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--green) 30%,transparent)}.pixel-btn.secondary[data-v-377721c8]{border-color:var(--cyan);color:var(--cyan);background:color-mix(in srgb,var(--cyan) 5%,transparent)}.pixel-btn.secondary[data-v-377721c8]:hover{background:color-mix(in srgb,var(--cyan) 12%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--cyan) 30%,transparent)}.modal-right[data-v-377721c8]{display:flex;flex-direction:column;gap:1.25rem;padding:2rem 2.25rem 2rem 1.75rem;height:100%;overflow:hidden}.modal-header[data-v-377721c8]{display:flex;align-items:flex-start;gap:1rem;flex-shrink:0}.m-icon[data-v-377721c8]{font-size:2.25rem}.m-icon img[data-v-377721c8]{width:2.75rem;height:2.75rem;object-fit:contain;display:block}.m-title-group[data-v-377721c8]{display:flex;flex-direction:column;gap:.375rem}.m-title[data-v-377721c8]{font-family:"Press Start 2P",monospace;font-size:.75rem;color:var(--text);line-height:1.5}.m-status[data-v-377721c8]{font-family:VT323,monospace;font-size:1rem}.m-status.online[data-v-377721c8]{color:var(--green)}.m-status.offline[data-v-377721c8]{color:#ff5f57}.m-detail[data-v-377721c8]{flex:1;border-top:1px solid var(--border);padding-top:1.25rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent;display:flex;flex-direction:column;gap:.875rem}.slide-caption-title[data-v-377721c8]{font-family:VT323,monospace;font-size:1.125rem;color:var(--cyan)}.slide-caption-desc[data-v-377721c8]{font-family:VT323,monospace;font-size:1.125rem;color:var(--text-dim);line-height:1.6}.fs-overlay[data-v-377721c8]{position:fixed;inset:0;z-index:2000;background:#000000f5;display:flex;align-items:center;justify-content:center;animation:fadeIn-377721c8 .15s ease;cursor:zoom-out}.fs-overlay img[data-v-377721c8],.fs-overlay video[data-v-377721c8]{max-width:95vw;max-height:95vh;object-fit:contain;cursor:default;box-shadow:0 0 60px #000c}.fs-close[data-v-377721c8]{position:absolute;top:1.25rem;right:1.25rem;background:none;border:1px solid rgba(255,255,255,.3);color:#ffffffb3;font-family:VT323,monospace;font-size:1.25rem;width:2.25rem;height:2.25rem;cursor:pointer;transition:border-color .2s,color .2s;z-index:10}.fs-close[data-v-377721c8]:hover{border-color:#fff;color:#fff}@media(max-width:700px){.modal[data-v-377721c8]{height:92dvh;width:95vw}.modal-grid[data-v-377721c8]{grid-template-columns:1fr;overflow-y:auto;height:100%}.modal-left[data-v-377721c8]{border-right:none;border-bottom:1px solid var(--border);padding:1.5rem;overflow:visible;min-height:55dvh}.modal-right[data-v-377721c8]{padding:1.5rem;height:auto;overflow:visible}.m-tags[data-v-377721c8],.m-detail[data-v-377721c8]{overflow:visible;max-height:none}}.filter-bar[data-v-dd777c37]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tech-bar[data-v-dd777c37]{margin-bottom:1.5rem;padding:.625rem .75rem;border:1px solid var(--border);border-left:2px solid var(--green);background:color-mix(in srgb,var(--green) 2%,transparent)}.tech-btn[data-v-dd777c37]{font-size:.875rem;padding:.125rem .625rem;opacity:.8}.filter-btn[data-v-dd777c37]{font-family:VT323,monospace;font-size:1rem;padding:.25rem .875rem;background:transparent;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:all .2s}.filter-btn[data-v-dd777c37]:hover,.filter-btn.active[data-v-dd777c37]{border-color:var(--green);color:var(--green);background:color-mix(in srgb,var(--green) 5%,transparent)}.projects-scroll[data-v-dd777c37]{overflow-y:auto;overflow-x:hidden;padding-right:.375rem;padding-top:1px;height:70vh;scrollbar-width:thin;scrollbar-color:var(--green) var(--bg)}.projects-scroll[data-v-dd777c37]::-webkit-scrollbar{width:4px}.projects-scroll[data-v-dd777c37]::-webkit-scrollbar-track{background:var(--bg);border:1px solid var(--border)}.projects-scroll[data-v-dd777c37]::-webkit-scrollbar-thumb{background:var(--green);box-shadow:0 0 6px var(--green)}.projects-grid[data-v-dd777c37]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.project-card[data-v-dd777c37]{background:var(--bg-card);border:1px solid var(--border);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s,transform .2s;position:relative;overflow:hidden;cursor:pointer}.project-card[data-v-dd777c37]:before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:var(--green);transition:height .3s}.project-card[data-v-dd777c37]:hover{border-color:var(--border);transform:translateY(-.25rem)}.project-card[data-v-dd777c37]:hover:before{height:100%}.project-card.featured[data-v-dd777c37]{border-color:color-mix(in srgb,var(--green) 20%,transparent)}.card-header[data-v-dd777c37]{display:flex;justify-content:space-between;align-items:center}.card-status[data-v-dd777c37]{display:flex;align-items:center;gap:.375rem}.status-dot[data-v-dd777c37]{width:.5rem;height:.5rem;border-radius:50%;animation:pulse-dd777c37 2s ease-in-out infinite}.status-dot.online[data-v-dd777c37]{background:var(--green);box-shadow:0 0 6px var(--green)}.status-dot.offline[data-v-dd777c37]{background:#ff5f57;box-shadow:0 0 6px #ff5f57}@keyframes pulse-dd777c37{0%,to{opacity:1}50%{opacity:.3}}.status-text[data-v-dd777c37]{font-family:VT323,monospace;font-size:.875rem}.status-text.online[data-v-dd777c37]{color:var(--green)}.status-text.offline[data-v-dd777c37]{color:#ff5f57}.card-links[data-v-dd777c37]{display:flex;gap:.75rem}.card-link[data-v-dd777c37]{font-family:VT323,monospace;font-size:1rem;color:var(--text-dim);text-decoration:none;transition:color .2s}.card-link[data-v-dd777c37]:hover{color:var(--cyan)}.card-icon[data-v-dd777c37]{font-size:2rem}.card-icon img[data-v-dd777c37]{width:2.5rem;height:2.5rem;object-fit:contain;display:block}.card-title[data-v-dd777c37]{font-family:"Press Start 2P",monospace;font-size:.625rem;color:var(--text);line-height:1.6}.card-desc[data-v-dd777c37]{font-family:VT323,monospace;font-size:1.0625rem;color:var(--text-dim);line-height:1.5;flex:1}.card-tags[data-v-dd777c37]{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto}.badge[data-v-dd777c37]{font-family:VT323,monospace;font-size:.875rem;padding:.125rem .5rem;border:1px solid var(--border);color:var(--purple);background:color-mix(in srgb,var(--purple) 5%,transparent)}@media(max-width:900px){.projects-grid[data-v-dd777c37]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.projects-scroll[data-v-dd777c37]{height:auto;max-height:none!important;overflow:visible}}@media(max-width:580px){.projects-grid[data-v-dd777c37]{grid-template-columns:1fr}}.contact-section[data-v-f035b7ce]{border-top:1px solid var(--border)}.contact-grid[data-v-f035b7ce]{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.contact-intro[data-v-f035b7ce]{font-family:VT323,monospace;font-size:1.375rem;color:var(--text-dim);line-height:1.6;margin-bottom:2rem}.accent[data-v-f035b7ce]{color:var(--green)}.contact-links[data-v-f035b7ce]{display:flex;flex-direction:column;gap:1rem}.contact-link[data-v-f035b7ce]{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);text-decoration:none;transition:border-color .2s,transform .2s}.contact-link[data-v-f035b7ce]:hover{border-color:var(--green);transform:translate(.25rem)}.link-icon[data-v-f035b7ce]{font-size:1.25rem;flex-shrink:0}.link-label[data-v-f035b7ce]{display:block;font-family:"Press Start 2P",monospace;font-size:.5625rem;color:var(--text-dim);margin-bottom:.25rem}.link-val[data-v-f035b7ce]{display:block;font-family:VT323,monospace;font-size:1.0625rem;color:var(--text)}.link-arrow[data-v-f035b7ce]{margin-left:auto;color:var(--green);font-size:1.25rem}.contact-form[data-v-f035b7ce]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-f035b7ce]{display:flex;flex-direction:column;gap:.375rem}.form-label[data-v-f035b7ce]{font-family:VT323,monospace;font-size:1rem;color:var(--text-dim)}.form-input[data-v-f035b7ce]{font-family:VT323,monospace;font-size:1.125rem;padding:.625rem .875rem;background:var(--bg-card);border:1px solid var(--border);color:var(--text);outline:none;transition:border-color .2s;width:100%}.form-input[data-v-f035b7ce]:focus{border-color:var(--green)}.form-input[data-v-f035b7ce]::placeholder{color:var(--text-dim)}.form-textarea[data-v-f035b7ce]{resize:vertical;min-height:7.5rem}.success-msg[data-v-f035b7ce]{font-family:VT323,monospace;font-size:1.125rem;color:var(--green)}.error-msg[data-v-f035b7ce]{font-family:VT323,monospace;font-size:1.125rem;color:#f44}@media(max-width:768px){.contact-grid[data-v-f035b7ce]{grid-template-columns:1fr}}.site-footer[data-v-7aa68898]{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:.7rem 0;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 95%,transparent);backdrop-filter:blur(8px)}.footer-inner[data-v-7aa68898]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1.5rem}.footer-brand[data-v-7aa68898]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.footer-logo[data-v-7aa68898]{font-family:"Press Start 2P",monospace;font-size:.875rem;color:var(--text-dim)}.bracket[data-v-7aa68898]{color:var(--green)}.footer-text[data-v-7aa68898]{font-family:VT323,monospace;font-size:1.125rem;color:var(--text-dim)}.accent[data-v-7aa68898]{color:var(--green)}.footer-social[data-v-7aa68898]{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.footer-social-link[data-v-7aa68898]{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .7rem;border:1px solid var(--border);color:var(--text-dim);font-family:VT323,monospace;font-size:1rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s}.footer-social-link[data-v-7aa68898]:hover{border-color:var(--green);color:var(--green);background:color-mix(in srgb,var(--green) 5%,transparent)}.footer-social-icon[data-v-7aa68898]{font-size:1.05rem}.footer-copy[data-v-7aa68898]{font-family:VT323,monospace;font-size:1rem;color:var(--text-dim)}@media(max-width:768px){.site-footer[data-v-7aa68898]{position:static;backdrop-filter:none;background:var(--bg-card);padding:1.25rem 0}.footer-inner[data-v-7aa68898]{justify-content:center;text-align:center}}
