.bg-grid[data-v-89ae55e8]{z-index:-1;pointer-events:none;-webkit-mask-composite:destination-in;opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M 32 0 L 0 0 0 32' fill='none' stroke='%23596070' stroke-width='0.5' stroke-dasharray='3 5'/%3E%3C/svg%3E");position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 45%,#0000 90%),linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#000 45%,#0000 90%),linear-gradient(90deg,#0000,#000 18% 82%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}@media (width<=860px){.bg-grid[data-v-89ae55e8]{display:none}}nav[data-v-b3881ec6]{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1f1f29eb;border-bottom:1px solid #a3be8c33;height:54px;position:sticky;top:0;box-shadow:0 1px 20px #a3be8c0f}.nav-inner[data-v-b3881ec6]{justify-content:space-between;align-items:center;width:100%;max-width:1160px;height:100%;margin:0 auto;padding:0 2.5rem;display:flex}.logo[data-v-b3881ec6]{color:var(--hi);letter-spacing:.02em;text-shadow:0 0 20px #a3be8c33;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;transition:color .2s,text-shadow .2s}.logo[data-v-b3881ec6]:hover{color:var(--grn);text-shadow:0 0 24px #a3be8c73}.nav-r[data-v-b3881ec6]{align-items:center;gap:1rem;display:flex}.nav-c[data-v-b3881ec6]{align-self:center;align-items:center;gap:clamp(1rem,3vw,3rem);display:flex}.nbtn[data-v-b3881ec6]{font-family:var(--font);color:var(--grn);cursor:pointer;letter-spacing:.04em;background:0 0;border:1px solid #a3be8c59;padding:.3rem 1.1rem;font-size:13px;transition:all .2s;box-shadow:0 0 8px #a3be8c14}.nbtn[data-v-b3881ec6]:hover{border-color:var(--grn);color:var(--grn);box-shadow:0 0 16px #a3be8c33}.nbtn.text[data-v-b3881ec6]{color:var(--s3);font:inherit;letter-spacing:inherit;cursor:pointer;box-shadow:none;background:0 0;border:0;padding:0}.nbtn.text[data-v-b3881ec6]:hover{color:var(--hi)}.nbtn.menunbtn[data-v-b3881ec6]{display:none}.nbtn.menunbtn.open[data-v-b3881ec6]{border-color:var(--grn);box-shadow:0 0 16px #a3be8c33}.mobile-panel[data-v-b3881ec6]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1f1f29f7;border-bottom:1px solid #a3be8c33;flex-direction:column;padding:.5rem 0;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #00000059}.mp-link[data-v-b3881ec6]{font-family:var(--font);color:var(--s3);letter-spacing:.04em;cursor:pointer;padding:.85rem 2.5rem;font-size:14px;text-decoration:none;transition:color .2s,background .2s}.mp-link[data-v-b3881ec6]:hover,.mp-link.router-link-active[data-v-b3881ec6]{color:var(--grn);background:#a3be8c0f}.mp-sep[data-v-b3881ec6]{background:#a3be8c2e;height:1px;margin:.4rem 2.5rem}.panel-enter-active[data-v-b3881ec6],.panel-leave-active[data-v-b3881ec6]{transition:opacity .2s,transform .2s}.panel-enter-from[data-v-b3881ec6],.panel-leave-to[data-v-b3881ec6]{opacity:0;transform:translateY(-8px)}@media (width<=860px){.nav-c[data-v-b3881ec6],.nav-r .nbtn[data-v-b3881ec6]:not(.menunbtn){display:none}.nav-r .menunbtn[data-v-b3881ec6]{display:inline-flex}.mobile-panel[data-v-b3881ec6]{display:flex}}.statusbar[data-v-d2d53d32]{background:var(--s1);z-index:100;border-top:1px solid #a3be8c40;align-items:center;width:100%;height:22px;font-size:11px;display:flex;position:fixed;bottom:0;box-shadow:0 -1px 16px #a3be8c12}.sb-mode[data-v-d2d53d32]{background:var(--grn);color:var(--bg);letter-spacing:.06em;align-items:center;height:100%;padding:0 10px;font-weight:700;display:flex}.sb-branch[data-v-d2d53d32]{background:var(--s3);color:var(--bg);align-items:center;height:100%;padding:0 12px;display:flex}.sb-file[data-v-d2d53d32]{background:var(--s3);color:var(--bg);white-space:nowrap;align-items:center;height:100%;padding:0 12px;display:flex}.sb-pos[data-v-d2d53d32]{color:var(--s3);white-space:nowrap;margin-left:auto;padding:0 12px}.sb-status-label[data-v-d2d53d32]{color:var(--s3);white-space:nowrap;letter-spacing:.06em;align-items:center;gap:5px;padding-left:12px;padding-right:6px;display:flex}.sb-ticker-wrap[data-v-d2d53d32]{flex:1;align-items:center;min-width:0;height:100%;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12% 88%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 12% 88%,#0000 100%)}.sb-ticker[data-v-d2d53d32]{flex-shrink:0;width:max-content;animation:96s linear infinite sb-marquee-d2d53d32;display:flex}.sb-ticker-seg[data-v-d2d53d32]{white-space:nowrap;display:flex}.sb-ticker-seg span[data-v-d2d53d32]{color:var(--s3)}.sb-dot[data-v-d2d53d32]{background:var(--grn);flex-shrink:0;width:5px;height:5px;display:inline-block}@media (width<=600px){.sb-status-label[data-v-d2d53d32],.sb-ticker-wrap[data-v-d2d53d32]{display:none}}@keyframes sb-marquee-d2d53d32{0%{transform:translate(0)}to{transform:translate(-50%)}}.cursor-glow[data-v-8ea42158]{pointer-events:none;z-index:0;background:radial-gradient(circle 160px at var(--cx) var(--cy), #a3be8c05 0%, #a3be8c03 40%, #a3be8c01 70%, transparent 100%);position:fixed;inset:0}.hero[data-v-d9a07715]{grid-template:"top art""bottom art"/1fr auto;align-content:center;align-items:center;gap:1.5rem 1rem;width:100%;max-width:1160px;min-height:calc(100svh - 76px);margin:0 auto;padding:3rem 2.5rem;display:grid}.hero-top[data-v-d9a07715]{flex-direction:column;grid-area:top;gap:1.5rem;display:flex}.hero-bottom[data-v-d9a07715]{flex-direction:column;grid-area:bottom;gap:1.5rem;display:flex}.hero-art[data-v-d9a07715]{-webkit-mask-composite:destination-in;grid-area:art;align-self:center;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000),linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(#000 70%,#0000),linear-gradient(90deg,#0000,#000 15% 85%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.art-stack[data-v-d9a07715]{display:grid}.ascii-art[data-v-d9a07715]{font-family:var(--font);white-space:pre;grid-area:1/1;font-size:6px;line-height:1.15;display:block}.layer-white[data-v-d9a07715]{color:var(--s3)}.layer-green[data-v-d9a07715]{color:var(--grn);text-shadow:0 0 4px #a3be8c73}.art-booting .art-stack[data-v-d9a07715]{animation:1.7s ease-out art-neon-d9a07715}.art-sweep[data-v-d9a07715]{z-index:3;pointer-events:none;opacity:0;background:linear-gradient(#0000,#a3be8c2e,#0000);height:35%;position:absolute;inset:0 0 auto;transform:translateY(-130%)}.art-booting .art-sweep[data-v-d9a07715]{animation:1.5s ease-out .1s art-sweep-d9a07715}@keyframes art-neon-d9a07715{0%{filter:drop-shadow(0 0 8px #a3be8c00)}10%{filter:drop-shadow(0 0 11px #a3be8cd9)}16%{filter:drop-shadow(0 0 2px #a3be8c33)}26%{filter:drop-shadow(0 0 13px #a3be8ce6)}42%{filter:drop-shadow(0 0 4px #a3be8c66)}62%{filter:drop-shadow(0 0 9px #a3be8c8c)}to{filter:drop-shadow(0 0 3px #a3be8c00)}}@keyframes art-sweep-d9a07715{0%{opacity:0;transform:translateY(-130%)}12%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(330%)}}.glitch-boot[data-v-d9a07715]{--cy:#67e8f9;--grn-glow:#a3be8c59}.glitch-boot .cp-label[data-v-d9a07715],.glitch-boot .hero-intro[data-v-d9a07715],.glitch-boot .hero-sub[data-v-d9a07715],.glitch-boot .hero-btns[data-v-d9a07715]{animation:.6s steps(2,end) .1s hero-glitch-d9a07715}.glitch-boot .hero-h1[data-v-d9a07715]{animation:.6s steps(2,end) .1s hero-glitch-d9a07715,4s ease-in-out 1s infinite neon-flicker-d9a07715}@keyframes hero-glitch-d9a07715{0%{opacity:.35;clip-path:inset(0 0 65%);text-shadow:2px 0 var(--grn), -2px 0 var(--cy);transform:translate(-3px)}20%{opacity:1;clip-path:inset(45% 0 0);text-shadow:-2px 0 var(--grn), 2px 0 var(--cy);transform:translate(3px)}40%{clip-path:inset(0 0 30%);text-shadow:1px 0 var(--grn);transform:translate(-2px)}60%{clip-path:inset(20% 0 0);transform:translate(2px)}80%{clip-path:inset(0);text-shadow:none;transform:translate(-1px)}to{clip-path:inset(0);transform:translate(0)}}@keyframes neon-flicker-d9a07715{0%,to{text-shadow:0 0 8px #a3be8c24,0 0 18px #a3be8c0d;transform:translate(0)}42%{text-shadow:0 0 3px #a3be8c0d;transform:translate(-1px)}43%{text-shadow:0 0 9px #a3be8c29,0 0 20px #a3be8c0f;transform:translate(0)}78%{text-shadow:0 0 8px #a3be8c24,0 0 18px #a3be8c0d}79%{text-shadow:0 0 2px #a3be8c0a;transform:translate(1px)}80%{text-shadow:0 0 9px #a3be8c29,0 0 20px #a3be8c0f;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.art-booting .art-stack[data-v-d9a07715]{animation:none}.art-sweep[data-v-d9a07715]{display:none}.glitch-boot .cp-label[data-v-d9a07715],.glitch-boot .hero-intro[data-v-d9a07715],.glitch-boot .hero-sub[data-v-d9a07715],.glitch-boot .hero-btns[data-v-d9a07715],.hero-h1[data-v-d9a07715],.glitch-boot .hero-h1[data-v-d9a07715]{animation:none}}.cp-label[data-v-d9a07715]{font-family:var(--font);letter-spacing:.12em;color:var(--grn);opacity:.7;font-size:11px}.hero-h1[data-v-d9a07715]{font-family:var(--sans);letter-spacing:-.02em;color:var(--hi);text-shadow:0 0 8px #a3be8c24,0 0 18px #a3be8c0d;font-size:clamp(3rem,6vw,5rem);font-weight:700;line-height:1;animation:4s ease-in-out infinite neon-flicker-d9a07715}.hero-h1[data-v-d9a07715] .dim{color:var(--s2)}.cp-divider[data-v-d9a07715]{background:linear-gradient(to right, var(--grn), transparent);opacity:.6;max-width:300px;height:1px;box-shadow:0 0 8px #a3be8c40}.hero-intro[data-v-d9a07715]{font-family:var(--font);letter-spacing:.12em;color:var(--grn);opacity:.7;margin-top:-1rem;font-size:11px}.hero-sub[data-v-d9a07715]{font-family:var(--font);color:var(--s3);flex-direction:column;gap:.45rem;max-width:520px;font-size:13px;list-style:none;display:flex}.hero-sub li[data-v-d9a07715]{gap:.6rem;display:flex}.hero-sub li[data-v-d9a07715]:before{content:">";color:var(--grn);flex-shrink:0}.hero-sub strong[data-v-d9a07715]{color:var(--grn);font-weight:400}.hero-btns[data-v-d9a07715]{gap:.6rem;margin-top:.5rem;display:flex}.hbtn[data-v-d9a07715]{font-family:var(--font);cursor:pointer;letter-spacing:.08em;white-space:nowrap;background:0 0;border:1px solid;padding:.45rem 1.1rem;font-size:12px;transition:all .2s}.hbtn-p[data-v-d9a07715]{border-color:var(--grn);color:var(--grn);box-shadow:0 0 10px #a3be8c1f,inset 0 0 10px #a3be8c0a}.hbtn-p[data-v-d9a07715]:hover{background:#a3be8c14;box-shadow:0 0 20px #a3be8c40,inset 0 0 15px #a3be8c0f}.hbtn-o[data-v-d9a07715]{border-color:var(--s1);color:var(--s3)}.hbtn-o[data-v-d9a07715]:hover{border-color:var(--s3);color:var(--hi)}@media (width<=860px){.hero[data-v-d9a07715]{text-align:center;grid-template-columns:1fr;grid-template-areas:"top""art""bottom";justify-items:center;min-height:auto;padding:2rem 1.25rem}.ascii-art[data-v-d9a07715]{font-size:2px}.hero-bottom[data-v-d9a07715]{align-items:center}.hero-sub[data-v-d9a07715]{text-align:left;align-self:flex-start}.hero-btns[data-v-d9a07715]{justify-content:center}.cp-divider[data-v-d9a07715]{background:linear-gradient(to right, transparent, var(--grn) 50%, transparent);width:200px}}.fade-enter-active[data-v-d9a07715]{transition:opacity .5s}.fade-enter-from[data-v-d9a07715]{opacity:0}.tabs[data-v-32c06c91]{flex-wrap:wrap;gap:.45rem;display:flex}.tabs-cap[data-v-32c06c91]{width:100%;font-family:var(--font);letter-spacing:.2em;color:var(--s2);opacity:0;margin-bottom:.35rem;padding-left:.3rem;font-size:9px;animation:.4s 50ms forwards tab-in-32c06c91}.tab[data-v-32c06c91]{font-family:var(--font);letter-spacing:.14em;color:var(--s3);border:1px solid var(--s1);border-left:2px solid var(--s2);cursor:pointer;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);opacity:0;background:#413a4259;flex:1;justify-content:center;align-items:center;gap:.55rem;min-width:0;padding:.6rem .7rem;font-size:11px;transition:color .15s,background .15s,border-color .15s,box-shadow .15s;animation:.42s cubic-bezier(.2,.8,.2,1) forwards tab-in-32c06c91;display:flex;position:relative}.tab[data-v-32c06c91]:hover{color:var(--hi);border-left-color:var(--grn);background:#a3be8c0f}.tab.active[data-v-32c06c91]{color:var(--hi);border-color:#a3be8c8c;border-left:2px solid var(--grn);text-shadow:0 0 8px #a3be8c66;background:#a3be8c1a;box-shadow:0 0 14px #a3be8c1f,inset 0 0 10px #a3be8c0d}.tab-arrow[data-v-32c06c91]{color:var(--grn);width:.8em;text-shadow:0 0 8px var(--grn-glow)}@keyframes tab-in-32c06c91{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.tab[data-v-32c06c91],.tabs-cap[data-v-32c06c91]{opacity:1;animation:none!important}}.term[data-v-644e5e88]{border:1px solid var(--s1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);height:calc(74svh - 56.24px);box-shadow:0 0 22px #a3be8c12, 0 0 1px var(--cy-dim), inset 0 0 24px #a3be8c08;opacity:0;background:#1f1f29e6;flex-direction:column;animation:.55s 50ms forwards term-boot-644e5e88;display:flex;position:relative;overflow:hidden}.term[data-v-644e5e88]:before,.term[data-v-644e5e88]:after{content:"";z-index:4;pointer-events:none;width:16px;height:16px;position:absolute}.term[data-v-644e5e88]:before{border-top:2px solid var(--cy);border-left:2px solid var(--cy);top:-1px;left:-1px}.term[data-v-644e5e88]:after{border-bottom:2px solid var(--grn);border-right:2px solid var(--grn);bottom:-1px;right:-1px}.term-sweep[data-v-644e5e88]{z-index:3;pointer-events:none;background:linear-gradient(#0000,#a3be8c24,#0000);height:40%;animation:1.2s .15s sweep-644e5e88;position:absolute;inset:0 0 auto;transform:translateY(-120%)}.term-bar[data-v-644e5e88]{border-bottom:1px solid var(--s1);background:linear-gradient(var(--s1), #413a4299);font-family:var(--font);letter-spacing:.08em;flex-shrink:0;align-items:center;gap:.7rem;padding:.5rem .85rem;font-size:10px;display:flex}.bar-dots[data-v-644e5e88]{gap:5px;display:flex}.bar-dots i[data-v-644e5e88]{background:var(--s2);clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%);width:7px;height:7px}.bar-dots i[data-v-644e5e88]:first-child{background:var(--grn)}.bar-dots i[data-v-644e5e88]:nth-child(2){background:var(--cy)}.bar-path[data-v-644e5e88]{color:var(--s2)}.bar-cwd[data-v-644e5e88]{color:var(--cy)}.bar-cursor[data-v-644e5e88]{color:var(--grn);margin-left:auto;animation:1.1s step-end infinite blink-644e5e88}.term-screen[data-v-644e5e88]{flex-direction:column;flex:1;gap:0;padding:1.1rem 1.2rem;display:flex;position:relative;overflow-y:auto}.term-screen[data-v-644e5e88]:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(#67e8f906 0 1px,#0000 1px 3px);position:absolute;inset:0}.term-screen[data-v-644e5e88]>*{z-index:2;position:relative}.buffer[data-v-644e5e88]{z-index:2;align-items:flex-start;column-gap:1rem;display:flex;position:relative}.gutter[data-v-644e5e88]{text-align:right;-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;min-width:2.2em;display:flex}.gl[data-v-644e5e88]{height:21px;line-height:21px;font-family:var(--font);color:var(--s2);opacity:.55;font-size:11px}.gl.tilde[data-v-644e5e88]{color:var(--s1);opacity:1}.content[data-v-644e5e88]{flex:auto;min-width:0}.bl[data-v-644e5e88]{font-family:var(--font);color:var(--s3);margin:0;font-size:12.5px;line-height:21px}.bl-blank[data-v-644e5e88]{height:21px}.bl-title[data-v-644e5e88]{color:var(--hi);letter-spacing:.02em;text-shadow:0 0 14px var(--grn-glow);font-size:14px;font-weight:700}.bl-comment[data-v-644e5e88]{color:var(--s2);letter-spacing:.04em}.bl-role[data-v-644e5e88]{color:var(--s3)}.bl-stack[data-v-644e5e88]{color:var(--grn);letter-spacing:.04em;opacity:.85;font-size:11.5px}.timeline[data-v-644e5e88]{position:relative}.timeline[data-v-644e5e88]:before{content:"";background:linear-gradient(to bottom, var(--grn), var(--cy));opacity:.4;width:1px;position:absolute;top:10px;bottom:0;left:4px}.timeline .bl[data-v-644e5e88]{padding-left:22px}.tl-head[data-v-644e5e88]{justify-content:space-between;align-items:baseline;gap:1rem;display:flex;position:relative}.tl-head[data-v-644e5e88]:before{content:"";background:var(--grn);width:9px;height:9px;box-shadow:0 0 8px var(--grn);border-radius:50%;margin-top:-4.5px;position:absolute;top:10.5px;left:0}.entry-org[data-v-644e5e88]{color:var(--hi);letter-spacing:.04em}.entry-period[data-v-644e5e88]{color:var(--cy);white-space:nowrap;flex-shrink:0}.bl-skill-label[data-v-644e5e88]{color:var(--s2);letter-spacing:.14em;font-size:11px}.bl-skill-items[data-v-644e5e88]{color:var(--grn);letter-spacing:.03em}.v-cmd[data-v-644e5e88]{border-top:1px solid var(--s1);font-family:var(--font);letter-spacing:.03em;color:var(--grn);background:#1f1f298c;flex-shrink:0;align-items:center;gap:1px;padding:.3rem .9rem;font-size:12px;display:flex}.v-cmd-cur[data-v-644e5e88]{color:var(--grn);animation:1.1s step-end infinite blink-644e5e88}.term-foot[data-v-644e5e88]{border-top:1px solid var(--s1);background:linear-gradient(#413a4299, var(--s1));font-family:var(--font);letter-spacing:.08em;flex-shrink:0;align-items:center;gap:.55rem;padding:.5rem .85rem;font-size:10px;display:flex}.foot-stat[data-v-644e5e88]{color:var(--grn);align-items:center;gap:.4rem;display:flex}.foot-dot[data-v-644e5e88]{background:var(--grn);width:6px;height:6px;box-shadow:0 0 8px var(--grn);border-radius:50%;animation:1.6s ease-in-out infinite blink-644e5e88}.foot-sep[data-v-644e5e88]{color:var(--s2)}.foot-loc[data-v-644e5e88]{color:var(--s3)}.foot-spacer[data-v-644e5e88]{flex:1}.foot-link[data-v-644e5e88]{color:var(--s3);text-decoration:none;transition:color .15s,text-shadow .15s}.foot-link .ext[data-v-644e5e88]{color:var(--cy);margin-left:1px}.foot-link[data-v-644e5e88]:hover{color:var(--cy);text-shadow:0 0 8px #67e8f966}@keyframes term-boot-644e5e88{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes sweep-644e5e88{0%{transform:translateY(-120%)}to{transform:translateY(260%)}}@keyframes blink-644e5e88{0%,60%{opacity:1}61%,to{opacity:.25}}@media (width<=860px){.term[data-v-644e5e88]{height:auto;max-height:62vh}}@media (prefers-reduced-motion:reduce){.term[data-v-644e5e88],.term-sweep[data-v-644e5e88],.bar-cursor[data-v-644e5e88],.foot-dot[data-v-644e5e88],.term-screen[data-v-644e5e88]{animation:none!important}.term[data-v-644e5e88]{opacity:1;clip-path:none}.term-sweep[data-v-644e5e88]{display:none}}.about[data-v-9792f5e7]{--cy:#67e8f9;--cy-dim:#67e8f98c;--grn-glow:#a3be8c59;flex-direction:column;justify-content:center;gap:1.1rem;width:100%;max-width:1160px;height:calc(100svh - 76px);margin:0 auto;padding:2rem 2.5rem;display:flex}@media (width<=860px){.about[data-v-9792f5e7]{height:auto;min-height:calc(100svh - 76px);padding:1rem 1.25rem}}.projects[data-v-057819fd]{--cy:#67e8f9;--grn-glow:#a3be8c59;flex-direction:column;gap:2rem;width:100%;max-width:1160px;min-height:calc(100svh - 76px);margin:0 auto;padding:3rem 2.5rem;display:flex}.pj-cap[data-v-057819fd]{font-family:var(--font);letter-spacing:.2em;color:var(--grn);opacity:.8;font-size:11px}.pj-title[data-v-057819fd]{font-family:var(--sans);letter-spacing:-.02em;color:var(--hi);margin-top:.4rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;line-height:1.1;animation:.6s steps(2,end) .1s both pj-glitch-057819fd}.pj-sub[data-v-057819fd]{font-family:var(--font);color:var(--s2);letter-spacing:.04em;margin-top:.5rem;font-size:12px}.pj-list[data-v-057819fd]{flex-direction:column;gap:2.4rem;display:flex}.pj-row[data-v-057819fd]{opacity:0;align-items:center;gap:1.6rem;animation:.5s cubic-bezier(.2,.8,.2,1) forwards pj-in-057819fd;display:flex}.pj-row.reverse[data-v-057819fd]{flex-direction:row-reverse}.pj-name[data-v-057819fd]{border:1px solid var(--s1);border-left:2px solid var(--grn);clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);background:#413a4259;flex-direction:column;flex:0 0 200px;gap:.35rem;padding:1rem 1.3rem;display:flex}.pj-index[data-v-057819fd]{font-family:var(--font);letter-spacing:.2em;color:var(--grn);opacity:.7;font-size:10px}.pj-name-text[data-v-057819fd]{font-family:var(--sans);color:var(--hi);font-size:1.05rem;font-weight:700;line-height:1.15}.pj-context[data-v-057819fd]{border:1px solid var(--s1);clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);background:#1f1f2999;flex-direction:column;flex:1;justify-content:space-between;gap:1rem;min-width:0;min-height:180px;padding:1.4rem 1.6rem;text-decoration:none;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:inset 0 0 24px #a3be8c08}.pj-context[data-v-057819fd]:hover{background:#a3be8c0d;border-color:#a3be8c80;transform:translateY(-2px);box-shadow:0 0 22px #a3be8c1f,inset 0 0 24px #a3be8c0a}.pj-art[data-v-057819fd]{font-family:var(--font);color:var(--grn);white-space:pre;flex:1;margin:0;font-size:clamp(7px,1.1vw,11px);line-height:1.25;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 80%,#0000);mask-image:linear-gradient(90deg,#000 80%,#0000)}.pj-context-foot[data-v-057819fd]{border-top:1px solid var(--s1);justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.8rem;display:flex}.pj-tagline[data-v-057819fd]{font-family:var(--font);color:var(--s3);letter-spacing:.02em;font-size:12px}.pj-open[data-v-057819fd]{font-family:var(--font);color:var(--cy);flex-shrink:0;font-size:12px;transition:transform .2s}.pj-context:hover .pj-open[data-v-057819fd]{transform:translate(3px)}@keyframes pj-in-057819fd{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pj-glitch-057819fd{0%{opacity:.35;clip-path:inset(0 0 65%);text-shadow:2px 0 var(--grn), -2px 0 var(--cy);transform:translate(-3px)}20%{opacity:1;clip-path:inset(45% 0 0);text-shadow:-2px 0 var(--grn), 2px 0 var(--cy);transform:translate(3px)}40%{clip-path:inset(0 0 30%);text-shadow:1px 0 var(--grn);transform:translate(-2px)}60%{clip-path:inset(20% 0 0);transform:translate(2px)}80%{clip-path:inset(0);text-shadow:none;transform:translate(-1px)}to{clip-path:inset(0);text-shadow:none;transform:translate(0)}}@media (width<=860px){.projects[data-v-057819fd]{padding:2rem 1.25rem}.pj-row[data-v-057819fd],.pj-row.reverse[data-v-057819fd]{flex-direction:column;align-items:stretch;gap:.8rem}.pj-name[data-v-057819fd]{flex:none}}@media (prefers-reduced-motion:reduce){.pj-row[data-v-057819fd]{opacity:1;animation:none}.pj-title[data-v-057819fd]{animation:none}.pj-context[data-v-057819fd]:hover{transform:none}}.cs[data-v-6e1b013f]{--grn-glow:#a3be8c59;justify-content:center;align-items:center;width:100%;max-width:1160px;min-height:calc(100svh - 76px);margin:0 auto;padding:3rem 2.5rem;display:flex}.cs-inner[data-v-6e1b013f]{text-align:center;flex-direction:column;align-items:center;gap:1.1rem;max-width:480px;display:flex}.cs-cap[data-v-6e1b013f]{font-family:var(--font);letter-spacing:.2em;color:var(--grn);opacity:.8;font-size:11px}.cs-title[data-v-6e1b013f]{font-family:var(--sans);letter-spacing:-.02em;color:var(--hi);text-shadow:0 0 10px #a3be8c59;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:700;line-height:1.05;animation:.6s steps(2,end) .1s cs-intro-6e1b013f,4s ease-in-out .7s infinite neon-flicker-6e1b013f}.cs-text[data-v-6e1b013f]{font-family:var(--font);color:var(--s3);letter-spacing:.02em;font-size:13px;line-height:1.7}.cs-btn[data-v-6e1b013f]{font-family:var(--font);border:1px solid var(--grn);color:var(--grn);letter-spacing:.04em;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%);margin-top:.6rem;padding:.6rem 1.4rem;font-size:13px;text-decoration:none;transition:all .2s;box-shadow:0 0 10px #a3be8c1f}.cs-btn[data-v-6e1b013f]:hover{background:#a3be8c14;box-shadow:0 0 20px #a3be8c40}@keyframes cs-intro-6e1b013f{0%{opacity:.35;clip-path:inset(0 0 65%);text-shadow:2px 0 var(--grn), -2px 0 #67e8f9;transform:translate(-3px)}20%{opacity:1;clip-path:inset(45% 0 0);text-shadow:-2px 0 var(--grn), 2px 0 #67e8f9;transform:translate(3px)}40%{clip-path:inset(0 0 30%);text-shadow:1px 0 var(--grn);transform:translate(-2px)}60%{clip-path:inset(20% 0 0);transform:translate(2px)}80%{clip-path:inset(0);text-shadow:none;transform:translate(-1px)}to{clip-path:inset(0);text-shadow:none;transform:translate(0)}}@keyframes neon-flicker-6e1b013f{0%,to{text-shadow:0 0 8px #a3be8c73,0 0 18px #a3be8c2e;transform:translate(0)}42%{text-shadow:0 0 2px #a3be8c26;transform:translate(-1px)}43%{text-shadow:0 0 9px #a3be8c80,0 0 20px #a3be8c33;transform:translate(0)}78%{text-shadow:0 0 8px #a3be8c73,0 0 18px #a3be8c2e}79%{text-shadow:0 0 1px #a3be8c1a;transform:translate(1px)}80%{text-shadow:0 0 9px #a3be8c80,0 0 20px #a3be8c33;transform:translate(0)}}@media (width<=860px){.cs[data-v-6e1b013f]{padding:2rem 1.25rem}}@media (prefers-reduced-motion:reduce){.cs-title[data-v-6e1b013f]{animation:none}}.faq[data-v-0e15d4eb]{--cy:#67e8f9;--cy-dim:#67e8f98c;--grn-glow:#a3be8c59;flex-direction:column;gap:1.6rem;width:100%;max-width:1160px;min-height:calc(100svh - 76px);margin:0 auto;padding:3rem 2.5rem;display:flex}.faq-cap[data-v-0e15d4eb]{font-family:var(--font);letter-spacing:.2em;color:var(--grn);opacity:.8;font-size:11px}.faq-title[data-v-0e15d4eb]{font-family:var(--sans);letter-spacing:-.02em;color:var(--hi);text-shadow:0 0 10px #a3be8c59;margin-top:.4rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;line-height:1.1;animation:.6s steps(2,end) .1s both faq-glitch-0e15d4eb,4s ease-in-out .7s infinite neon-flicker-0e15d4eb}.faq-sub[data-v-0e15d4eb]{font-family:var(--font);color:var(--s2);letter-spacing:.04em;margin-top:.5rem;font-size:12px}.faq-list[data-v-0e15d4eb]{flex-direction:column;gap:.55rem;list-style:none;display:flex}.faq-item[data-v-0e15d4eb]{border:1px solid var(--s1);border-left:2px solid var(--s2);clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);opacity:0;background:#413a4240;transition:border-color .18s,background .18s,box-shadow .18s;animation:.4s cubic-bezier(.2,.8,.2,1) forwards faq-in-0e15d4eb}.faq-item[data-v-0e15d4eb]:hover{border-left-color:var(--grn);background:#a3be8c0d}.faq-item.open[data-v-0e15d4eb]{border-color:#a3be8c73;border-left:2px solid var(--grn);background:#a3be8c12;box-shadow:0 0 16px #a3be8c1a,inset 0 0 12px #a3be8c08}.faq-q[data-v-0e15d4eb]{cursor:pointer;text-align:left;width:100%;font-family:var(--sans);color:var(--hi);background:0 0;border:0;align-items:center;gap:.9rem;padding:1rem 1.2rem;font-size:15px;display:flex}.faq-idx[data-v-0e15d4eb]{font-family:var(--font);color:var(--grn);opacity:.7;flex-shrink:0;font-size:11px}.faq-qtext[data-v-0e15d4eb]{flex:1}.faq-toggle[data-v-0e15d4eb]{font-family:var(--font);color:var(--cy);letter-spacing:-.05em;flex-shrink:0;font-size:12px}.faq-a-wrap[data-v-0e15d4eb]{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.faq-a-wrap.open[data-v-0e15d4eb]{grid-template-rows:1fr}.faq-a-inner[data-v-0e15d4eb]{overflow:hidden}.faq-a[data-v-0e15d4eb]{font-family:var(--sans);color:var(--s3);padding:0 1.2rem 1.1rem 3rem;font-size:13.5px;line-height:1.7}.faq-actions[data-v-0e15d4eb]{flex-wrap:wrap;gap:.6rem;padding:0 1.2rem 1.2rem 3rem;display:flex}.faq-action[data-v-0e15d4eb]{font-family:var(--font);color:var(--grn);letter-spacing:.03em;cursor:default;border:1px solid #a3be8c59;padding:.45rem .9rem;font-size:12px;text-decoration:none;transition:color .18s,border-color .18s,background .18s,box-shadow .18s}.faq-action[data-v-0e15d4eb]:hover{color:var(--hi);border-color:var(--grn);background:#a3be8c14;box-shadow:0 0 14px #a3be8c2e}@keyframes faq-in-0e15d4eb{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes faq-glitch-0e15d4eb{0%{opacity:.35;clip-path:inset(0 0 65%);text-shadow:2px 0 var(--grn), -2px 0 var(--cy);transform:translate(-3px)}20%{opacity:1;clip-path:inset(45% 0 0);text-shadow:-2px 0 var(--grn), 2px 0 var(--cy);transform:translate(3px)}40%{clip-path:inset(0 0 30%);text-shadow:1px 0 var(--grn);transform:translate(-2px)}60%{clip-path:inset(20% 0 0);transform:translate(2px)}80%{clip-path:inset(0);text-shadow:none;transform:translate(-1px)}to{clip-path:inset(0);text-shadow:none;transform:translate(0)}}@keyframes neon-flicker-0e15d4eb{0%,to{text-shadow:0 0 8px #a3be8c73,0 0 18px #a3be8c2e;transform:translate(0)}42%{text-shadow:0 0 2px #a3be8c26;transform:translate(-1px)}43%{text-shadow:0 0 9px #a3be8c80,0 0 20px #a3be8c33;transform:translate(0)}78%{text-shadow:0 0 8px #a3be8c73,0 0 18px #a3be8c2e}79%{text-shadow:0 0 1px #a3be8c1a;transform:translate(1px)}80%{text-shadow:0 0 9px #a3be8c80,0 0 20px #a3be8c33;transform:translate(0)}}@media (width<=860px){.faq[data-v-0e15d4eb]{padding:2rem 1.25rem}.faq-a[data-v-0e15d4eb],.faq-actions[data-v-0e15d4eb]{padding-left:1.2rem}}@media (prefers-reduced-motion:reduce){.faq-item[data-v-0e15d4eb]{opacity:1;animation:none}.faq-title[data-v-0e15d4eb]{animation:none}.faq-a-wrap[data-v-0e15d4eb]{transition:none}}@font-face{font-family:DejaVu Sans Mono;src:url(/assets/DejaVuSansMono-De2mO7tT.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DejaVu Sans Mono;src:url(/assets/DejaVuSansMono-Bold-Bi_P2Vsf.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#1f1f29;--s1:#413a42;--s2:#596070;--s3:#96a2b3;--hi:#fbf5ef;--grn:#a3be8c;--font:"DejaVu Sans Mono", "Courier New", Courier, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg);overflow-x:hidden}body{color:var(--s3);font-family:var(--font);background:0 0;flex-direction:column;min-height:100svh;font-size:13px;line-height:1.6;display:flex;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--s1)}a{color:inherit;text-decoration:none}@media (width<=860px){body{min-height:unset}}
