:root{--bg-color:#000;--text-color:#fff;--text-secondary:#888;--border-color:#333;--accent-color:#7928ca;--accent-glow:#7928ca66;--font-mono:"Berkeley Mono",monospace;--spacing-unit:8px;--card-bg:#050505}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Regular.woff2)format("woff2"),url(/fonts/BerkeleyMono-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Italic.woff2)format("woff2"),url(/fonts/BerkeleyMono-Italic.woff)format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Bold.woff2)format("woff2"),url(/fonts/BerkeleyMono-Bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-BoldItalic.woff2)format("woff2"),url(/fonts/BerkeleyMono-BoldItalic.woff)format("woff");font-weight:700;font-style:italic;font-display:swap}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit;text-decoration:none}.skip-link{z-index:1000;background:var(--text-color);color:var(--bg-color);padding:12px 24px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-link:focus{top:16px}:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}::selection{background:var(--accent-color);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.cta-button{color:var(--text-color);border:1px solid var(--text-color);cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:8px;margin-top:32px;padding:12px 24px;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.cta-icon{width:1.2em;height:1.2em;transition:transform .2s}.cta-button:hover .cta-icon{transform:translate(4px)}.cta-button:hover{background:var(--text-color);color:var(--bg-color);transform:translateY(-2px)}.background[data-v-f5f974d1]{z-index:-1;background-color:var(--bg-color);width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.grid-overlay[data-v-f5f974d1]{opacity:.5;background-image:linear-gradient(90deg,#ffffff26 1px,#0000 1px),linear-gradient(#ffffff26 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 40%,#0000 100%);mask-image:radial-gradient(circle,#000 40%,#0000 100%)}.glow-overlay[data-v-f5f974d1]{will-change:transform,opacity;background:radial-gradient(circle,#ffffff14,#0000 40%);width:200%;height:200%;animation:10s ease-in-out infinite alternate pulse-f5f974d1;position:absolute;top:-50%;left:-50%}@keyframes pulse-f5f974d1{0%{opacity:.5;transform:scale(1)}to{opacity:.8;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.glow-overlay[data-v-f5f974d1]{opacity:.65;animation:none}}.project-card[data-v-ea8157c3]{background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;height:100%;padding:24px;transition:border-color .3s,box-shadow .3s,transform .3s;position:relative}.project-card[data-v-ea8157c3]:hover,.project-card[data-v-ea8157c3]:focus-visible{border-color:#fff;transform:translateY(-2px);box-shadow:0 0 20px #7928ca1a}.card-content[data-v-ea8157c3]{flex-direction:column;height:100%;display:flex}.header[data-v-ea8157c3]{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}h3[data-v-ea8157c3]{color:var(--text-color);margin:0;font-size:1.2rem;font-weight:600}p[data-v-ea8157c3]{color:var(--text-secondary);flex-grow:1;margin-bottom:20px;font-size:.9rem;line-height:1.5}.tags[data-v-ea8157c3]{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.tag[data-v-ea8157c3]{color:var(--text-secondary);background:#ffffff0d;border:1px solid #222;padding:4px 8px;font-size:.75rem;transition:color .3s}.project-card:hover .tag[data-v-ea8157c3],.project-card:focus-visible .tag[data-v-ea8157c3]{color:var(--text-color);border-color:#444}.corner-plus[data-v-ea8157c3]{opacity:.6;border:1px solid #888;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .3s,border-color .3s,box-shadow .3s;display:flex;position:absolute;bottom:24px;right:24px}.project-card:hover .corner-plus[data-v-ea8157c3],.project-card:focus-visible .corner-plus[data-v-ea8157c3]{opacity:1;border-color:#fff;box-shadow:0 0 10px #7928ca33}.corner-plus[data-v-ea8157c3]:before,.corner-plus[data-v-ea8157c3]:after{content:"";background-color:#888;transition:background-color .3s;position:absolute}.project-card:hover .corner-plus[data-v-ea8157c3]:before,.project-card:hover .corner-plus[data-v-ea8157c3]:after,.project-card:focus-visible .corner-plus[data-v-ea8157c3]:before,.project-card:focus-visible .corner-plus[data-v-ea8157c3]:after{background-color:#fff}.corner-plus[data-v-ea8157c3]:before{width:16px;height:1px}.corner-plus[data-v-ea8157c3]:after{width:1px;height:16px}.hero[data-v-1d62cbb0]{min-height:300px;margin-bottom:120px}h1[data-v-1d62cbb0]{letter-spacing:-2px;background:linear-gradient(to bottom right,#fff,#888);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;min-height:4.4rem;margin-bottom:24px;font-size:4rem;font-weight:700;line-height:1.1}.subtitle[data-v-1d62cbb0]{color:var(--text-secondary);max-width:600px;min-height:1.44rem;font-size:1.2rem}@media (max-width:768px){h1[data-v-1d62cbb0]{margin-bottom:0;font-size:2.5rem}}.about-section[data-v-c03a1bff]{margin-bottom:120px}.about-content[data-v-c03a1bff]{max-width:1200px;margin:0 auto}.about-content h2[data-v-c03a1bff]{background:linear-gradient(90deg,#fff,#888);-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin-bottom:24px;font-size:2.5rem}.about-intro[data-v-c03a1bff]{color:var(--text-secondary);margin-bottom:48px;font-size:1.1rem;line-height:1.8}.about-intro .link[data-v-c03a1bff]{color:var(--text-secondary);cursor:pointer;text-decoration:underline;transition:color .2s}.about-intro .link[data-v-c03a1bff]:hover{color:#fff}.skills-grid[data-v-c03a1bff]{grid-template-columns:repeat(4,1fr);gap:32px;display:grid}@media (max-width:900px){.skills-grid[data-v-c03a1bff]{grid-template-columns:repeat(2,1fr)}}@media (max-width:550px){.skills-grid[data-v-c03a1bff]{grid-template-columns:1fr}}.skill-category[data-v-c03a1bff]{border:1px solid var(--border-color);background:#ffffff05;padding:24px}.skill-category[data-v-c03a1bff]:hover{border-color:var(--text-secondary);background:#ffffff0a}.skill-category h3[data-v-c03a1bff]{color:var(--text-color);margin-bottom:16px;font-size:1.1rem}.skill-category ul[data-v-c03a1bff]{margin:0;padding:0;list-style:none}.skill-category li[data-v-c03a1bff]{color:var(--text-secondary);padding:6px 0;font-size:.95rem}.social-links[data-v-cc022d28]{justify-content:center;align-items:center;gap:24px;display:flex}.social-link[data-v-cc022d28]{color:var(--text-secondary);background:#ffffff0d;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:12px;transition:all .2s;display:flex;position:relative}.social-link[data-v-cc022d28]:hover{color:var(--text-color);border-color:var(--border-color);background:#ffffff14;transform:translateY(-2px)}.discord-trigger[data-v-cc022d28]{cursor:pointer}.social-tooltip[data-v-cc022d28],.discord-tooltip[data-v-cc022d28]{background:var(--card-bg);border:1px solid var(--border-color);white-space:nowrap;pointer-events:none;z-index:10;color:var(--text-color);border-radius:6px;margin-bottom:12px;padding:6px 12px;font-size:.85rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.fade-enter-active[data-v-cc022d28],.fade-leave-active[data-v-cc022d28]{transition:opacity .2s}.fade-enter-from[data-v-cc022d28],.fade-leave-to[data-v-cc022d28]{opacity:0}.fade-enter-active[data-v-76fce7a5],.fade-leave-active[data-v-76fce7a5]{transition:opacity .2s}.fade-enter-from[data-v-76fce7a5],.fade-leave-to[data-v-76fce7a5]{opacity:0}.email-modal-backdrop[data-v-76fce7a5]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.email-modal[data-v-76fce7a5]{border:1px solid var(--border-color);text-align:left;background:#050505;width:100%;max-width:480px;padding:24px;box-shadow:0 24px 80px #000c}.email-modal h3[data-v-76fce7a5]{margin-bottom:12px;font-size:1.2rem}.email-modal p[data-v-76fce7a5]{color:var(--text-secondary);margin-bottom:12px}.email-modal ul[data-v-76fce7a5]{color:var(--text-secondary);margin:0 0 20px;padding-left:18px;font-size:.95rem}.email-modal li+li[data-v-76fce7a5]{margin-top:6px}.email-modal-actions[data-v-76fce7a5]{justify-content:flex-end;gap:12px;display:flex}.email-modal-button[data-v-76fce7a5]{border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:8px 14px;font-size:.9rem;text-decoration:none}.email-modal-button.primary[data-v-76fce7a5]{background:var(--text-color);color:var(--bg-color)}.contact[data-v-993a57d9]{text-align:center;flex-direction:column;align-items:center;margin-bottom:120px;display:flex}.contact h2[data-v-993a57d9]{letter-spacing:-1px;margin-bottom:16px;font-size:2.5rem;font-weight:700}.contact-text[data-v-993a57d9]{color:var(--text-secondary);max-width:600px;margin-bottom:32px;font-size:1.1rem;line-height:1.6}.min-engagement[data-v-993a57d9]{color:var(--text-secondary);opacity:.8;margin-top:8px;font-size:.95rem;display:block}.currency-trigger[data-v-993a57d9]{border-bottom:1px dashed var(--text-secondary);cursor:help;color:var(--text-color);position:relative}.currency-tooltip[data-v-993a57d9]{background:var(--card-bg);border:1px solid var(--border-color);white-space:nowrap;pointer-events:none;z-index:10;border-radius:6px;margin-bottom:8px;padding:6px 12px;font-size:.85rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.fade-enter-active[data-v-993a57d9],.fade-leave-active[data-v-993a57d9]{transition:opacity .2s}.fade-enter-from[data-v-993a57d9],.fade-leave-to[data-v-993a57d9]{opacity:0}.footer[data-v-6503f02d]{border-top:1px solid var(--border-color);background:linear-gradient(#0000,#ffffff05);margin-top:40px;padding:40px 0 20px}.footer-content[data-v-6503f02d]{grid-template-columns:1fr 1fr;gap:20px;max-width:1200px;margin:0 auto 30px;padding:0 24px;display:grid}.footer-column h3[data-v-6503f02d]{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:16px;font-size:.9rem;font-weight:600}.projects-column[data-v-6503f02d],.projects-column h3[data-v-6503f02d]{text-align:right}.contact-column .footer-links[data-v-6503f02d]{grid-template-columns:repeat(2,auto);justify-content:start;gap:8px 32px;display:grid}.projects-column .footer-links[data-v-6503f02d]{grid-template-columns:repeat(2,auto);justify-content:end;gap:8px 32px;display:grid}.projects-column .footer-links a[data-v-6503f02d]{text-align:right;width:100%}.footer-links[data-v-6503f02d]{flex-direction:column;gap:8px;display:flex}.footer-links a[data-v-6503f02d],.discord-link[data-v-6503f02d]{color:var(--text-secondary);cursor:pointer;width:fit-content;font-size:1rem;text-decoration:none;transition:all .2s;position:relative}.footer-links a[data-v-6503f02d]:hover,.discord-link[data-v-6503f02d]:hover{color:var(--text-color);font-weight:600}.tooltip[data-v-6503f02d]{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);opacity:0;pointer-events:none;white-space:nowrap;z-index:10;border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:400;transition:all .2s;position:absolute;top:50%;left:100%;transform:translateY(-50%)translate(10px)}.tooltip.visible[data-v-6503f02d]{opacity:1;transform:translateY(-50%)translate(15px)}.footer-bottom[data-v-6503f02d]{max-width:1200px;color:var(--text-secondary);border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin:0 auto;padding:16px 24px;font-size:.85rem;display:flex}.brand[data-v-6503f02d]{letter-spacing:-1px;cursor:pointer;color:var(--text-color);font-size:1.2rem;font-weight:800}@media (max-width:768px){.contact-column .footer-links[data-v-6503f02d],.projects-column .footer-links[data-v-6503f02d]{grid-template-columns:1fr}}@media (max-width:360px){.footer-content[data-v-6503f02d]{grid-template-columns:1fr;gap:40px}.projects-column[data-v-6503f02d],.projects-column h3[data-v-6503f02d]{text-align:right}.contact-column .footer-links[data-v-6503f02d],.projects-column .footer-links[data-v-6503f02d]{align-items:flex-start;display:flex}.footer-bottom[data-v-6503f02d]{text-align:center;flex-direction:column;gap:16px}.tooltip[data-v-6503f02d]{top:-30px;left:auto;right:-10px;transform:translate(0)}.tooltip.visible[data-v-6503f02d]{transform:translateY(-5px)}}.container[data-v-aa88da2a]{z-index:1;max-width:1200px;margin:0 auto;padding:0 24px;position:relative}header[data-v-aa88da2a]{justify-content:space-between;align-items:center;margin-bottom:80px;padding:40px 0;display:flex}.logo[data-v-aa88da2a]{letter-spacing:-1px;font-size:1.5rem;font-weight:800}nav[data-v-aa88da2a]{gap:24px;display:flex}nav a[data-v-aa88da2a]{color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:color .2s}nav a[data-v-aa88da2a]:hover{color:var(--text-color)}.projects-grid[data-v-aa88da2a]{margin-bottom:120px}.grid[data-v-aa88da2a]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}@media (max-width:768px){header[data-v-aa88da2a]{flex-direction:column;align-items:flex-start;gap:20px}}.notfound[data-v-0dc0d454]{justify-content:center;align-items:center;min-height:100vh;padding:80px 24px;display:flex}.notfound-inner[data-v-0dc0d454]{border:1px solid var(--border-color);background:radial-gradient(circle at top left,var(--accent-glow),transparent 55%),var(--card-bg);width:100%;max-width:560px;padding:32px 28px 40px;box-shadow:0 0 0 1px #ffffff05,0 40px 80px #000000e6}.notfound-eyebrow[data-v-0dc0d454]{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;font-size:.75rem}h1[data-v-0dc0d454]{margin-bottom:16px;font-size:2rem;line-height:1.1}.notfound-body[data-v-0dc0d454]{color:var(--text-secondary);margin-bottom:28px;font-size:.95rem;line-height:1.6}.app-wrapper{min-height:100vh;position:relative}.home-layer{transition:filter .3s}.home-layer.blurred{filter:blur(8px);pointer-events:none}::view-transition-old(root){animation-duration:0s}::view-transition-new(root){animation-duration:0s}::view-transition-group(*){animation-duration:.6s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
