.term-window{will-change:transform}.term-output{scrollbar-color:#404040 transparent;scrollbar-width:thin}.term-output::-webkit-scrollbar{width:8px}.term-output::-webkit-scrollbar-thumb{background-color:#404040;border-radius:9999px}.term-output::-webkit-scrollbar-thumb:hover{background-color:#737373}.term-cursor{animation:term-blink 1.1s step-end infinite;background-color:#34d399;display:inline-block;height:1.1em;margin-left:1px;vertical-align:text-bottom;width:.55em}.term-cursor-idle{animation:none;opacity:.35}@keyframes term-blink{0%,to{opacity:1}50%{opacity:0}}.term-output .term-key{color:#7dd3fc;display:inline-block;min-width:9.5rem;padding-right:.75rem}.term-output .term-cmd{color:#34d399}.term-output a{color:#7dd3fc;text-decoration:underline;text-decoration-color:#7dd3fc66;text-underline-offset:2px}.term-output a:hover{color:#bae6fd;text-decoration-color:currentColor}.term-fade-enter-active,.term-fade-leave-active{transition:opacity .2s ease}.term-fade-enter-from,.term-fade-leave-to{opacity:0}.term-pop-enter-active,.term-pop-leave-active{transition:opacity .18s ease,transform .18s ease}.term-pop-enter-from,.term-pop-leave-to{opacity:0;transform:scale(.94)}@media(prefers-reduced-motion:reduce){.term-cursor{animation:none}}.term-crt .term-window{background-color:#0d0a04;border-color:#ffb00059;border-radius:.5rem;box-shadow:0 0 60px -10px #ffb00059,inset 0 0 120px -40px #ffb00040;position:relative;--ring-shadow:none}.term-crt .term-window:after{animation:term-flicker 5s steps(60) infinite;background:repeating-linear-gradient(180deg,rgba(0,0,0,.25) 0 1px,transparent 1px 3px);content:"";inset:0;pointer-events:none;position:absolute;z-index:20}.term-crt .term-window:before{border-radius:inherit;box-shadow:inset 0 0 90px 20px #000000bf;content:"";inset:0;pointer-events:none;position:absolute;z-index:19}.term-crt .term-titlebar{background:linear-gradient(180deg,#241a05,#140e02);border-color:#ffb00040}.term-crt .term-output,.term-crt .term-output *,.term-crt .term-titlebar{color:#ffb000!important;text-shadow:0 0 6px rgba(255,176,0,.55)}.term-crt .term-light{border-radius:2px}.term-crt .term-cursor{background-color:#ffb000;box-shadow:0 0 8px #ffb000cc}.term-crt .term-output .term-key{color:#ffd88a!important}@keyframes term-flicker{0%,to{opacity:1}48%{opacity:.94}52%{opacity:1}}.term-neon .term-window{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090c14b8;border:0;border-radius:1rem;box-shadow:0 0 40px -8px #38bdf859,0 0 90px -20px #a855f759;position:relative}.term-neon .term-window:before{background:linear-gradient(135deg,#38bdf8e6,#a855f7e6,#10b981e6);border-radius:inherit;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;pointer-events:none;position:absolute;z-index:20}.term-neon .term-titlebar{background:linear-gradient(180deg,#1e293b8c,#0f172a40);border-color:#94a3b833}.term-neon .term-prompt{background:linear-gradient(90deg,#22d3ee,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.term-neon .term-cursor{background:linear-gradient(180deg,#22d3ee,#a78bfa);box-shadow:0 0 10px #22d3eecc}.term-neon .term-output .term-key{color:#67e8f9}.term-neon .term-output a{color:#a5f3fc;text-shadow:0 0 8px rgba(34,211,238,.5)}.resume-section{margin-top:1.5rem}.resume-section-title{border-bottom:1px solid #e2e8f0;color:#0a5adb;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:.75rem;padding-bottom:.25rem;text-transform:uppercase}.resume-job,.resume-project{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}@media print{@page{size:A4;margin:14mm 12mm}body,html{background:#fff!important;color:#000!important}body>:not(.resume-overlay){display:none!important}.resume-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;overflow:visible!important;position:static!important}.no-print{display:none!important}.resume-doc{background:#fff!important;border:0!important;box-shadow:none!important;color:#000!important;margin:0!important;max-width:100%!important;padding:0!important}.resume-section-title{color:#1f2937!important}a{color:inherit!important;text-decoration:none!important}}@keyframes slideDown-845e6840{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.md\:hidden nav[data-v-845e6840]{animation:slideDown-845e6840 .28s cubic-bezier(.16,1,.3,1)}.mobile-menu-enter-active[data-v-845e6840],.mobile-menu-leave-active[data-v-845e6840]{transition:opacity .2s ease,transform .28s cubic-bezier(.16,1,.3,1)}.mobile-menu-enter-from[data-v-845e6840],.mobile-menu-leave-to[data-v-845e6840]{opacity:0;transform:translateY(-10px)}.nav-link[data-v-845e6840]{position:relative}.nav-link[data-v-845e6840]:after{background-color:hsl(var(--primary));bottom:-3px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.16,1,.3,1);width:100%}.nav-link[data-v-845e6840]:focus-visible:after,.nav-link[data-v-845e6840]:hover:after{transform:scaleX(1)}.intro-caret[data-v-2001fe40]{animation:intro-blink-2001fe40 1.1s step-end infinite;background-color:#22c55e;display:inline-block;height:1em;vertical-align:text-bottom;width:.5em}.hero-orb[data-v-2001fe40]{animation:drift-2001fe40 12s ease-in-out infinite alternate;border-radius:9999px;filter:blur(70px);height:18rem;opacity:.16;pointer-events:none;position:absolute;width:18rem}.hero-orb-one[data-v-2001fe40]{background:hsl(var(--primary));left:8%;top:4rem}.hero-orb-two[data-v-2001fe40]{animation-delay:-5s;animation-direction:alternate-reverse;background:#10b981;bottom:0;right:4%}@keyframes drift-2001fe40{0%{transform:translate3d(-12px,8px,0) scale(.95)}to{transform:translate3d(18px,-14px,0) scale(1.08)}}@keyframes intro-blink-2001fe40{0%,to{opacity:1}50%{opacity:0}}@media(prefers-reduced-motion:reduce){.hero-orb[data-v-2001fe40],.intro-caret[data-v-2001fe40]{animation:none}}.project-image[data-v-897e5ae3]{transition:transform .55s cubic-bezier(.16,1,.3,1),filter .55s ease}.group\/card:hover .project-image[data-v-897e5ae3]{filter:saturate(1.08) contrast(1.02);transform:scale(1.04)}@media(prefers-reduced-motion:reduce){.project-image[data-v-897e5ae3]{transition:none}.group\/card:hover .project-image[data-v-897e5ae3]{transform:none}}.career-svg[data-v-1b8a0c86]{max-width:100%}.col-label[data-v-1b8a0c86]{fill:hsl(var(--muted-foreground));font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.edge[data-v-1b8a0c86]{stroke:hsl(var(--border));stroke-width:1;opacity:.55;transition:stroke .2s ease,opacity .2s ease,stroke-width .2s ease}.particle[data-v-1b8a0c86]{display:none}@supports (offset-path:path("M0 0 L1 1")){.particle[data-v-1b8a0c86]{animation:particle-flow-1b8a0c86 2.9s linear var(--particle-delay,0s) infinite;display:block;offset-rotate:0deg}}.particle-stack[data-v-1b8a0c86]{fill:hsl(var(--primary))}.particle-project[data-v-1b8a0c86]{fill:#f59e0b}@keyframes particle-flow-1b8a0c86{0%{offset-distance:0;opacity:0}12%{opacity:.95}88%{opacity:.95}to{offset-distance:100%;opacity:0}}.particle.is-dim[data-v-1b8a0c86]{visibility:hidden}@media(prefers-reduced-motion:reduce){.particle[data-v-1b8a0c86]{display:none}}.career-svg.is-drawing .edge[data-v-1b8a0c86]{stroke-dasharray:1;animation:edge-draw-1b8a0c86 .9s cubic-bezier(.16,1,.3,1) var(--edge-delay,0s) both}@keyframes edge-draw-1b8a0c86{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.career-svg.is-drawing .edge[data-v-1b8a0c86]{stroke-dasharray:none;animation:none}}.edge.is-dim[data-v-1b8a0c86]{opacity:.08}.edge.is-active[data-v-1b8a0c86]{stroke:hsl(var(--primary));stroke-width:1.75;opacity:.95}.node[data-v-1b8a0c86]{cursor:pointer;transition:opacity .2s ease}.node .node-dot[data-v-1b8a0c86]{transition:fill .2s ease,stroke .2s ease,r .2s ease;stroke:hsl(var(--background));stroke-width:2}.node .node-label[data-v-1b8a0c86]{fill:hsl(var(--foreground));font-size:12px;font-weight:500;stroke:hsl(var(--card));stroke-width:4px;paint-order:stroke fill;stroke-linejoin:round;transition:opacity .2s ease,fill .2s ease}.node-role .node-dot[data-v-1b8a0c86]{fill:hsl(var(--primary))}.node-skill .node-dot[data-v-1b8a0c86]{fill:#10b981}.node-project .node-dot[data-v-1b8a0c86]{fill:#f59e0b}.node.is-dim[data-v-1b8a0c86]{opacity:.2}.node.is-active .node-dot[data-v-1b8a0c86]{stroke:hsl(var(--primary));stroke-width:3}.node:hover .node-label[data-v-1b8a0c86]{fill:hsl(var(--primary))}*{border-color:hsl(var(--border))}html{position:relative}body{color:hsl(var(--foreground))}.bg-background,body{background-color:hsl(var(--background))}.text-foreground{color:hsl(var(--foreground))}.bg-primary{background-color:hsl(var(--primary))}.text-primary{color:hsl(var(--primary))}:root{transition:color .3s ease,background-color .3s ease,border-color .3s ease,fill .3s ease,stroke .3s ease}.theme-transition,.theme-transition *{transition:color .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.tilt-card{perspective:1000px;transform-style:preserve-3d;transition:transform .3s ease,background-color .3s ease,border-color .3s ease}.tilt-card:hover{transform:scale(1.02)}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s ease}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(20px)}.enter{animation:enter var(--enter-duration,.42s) cubic-bezier(.16,1,.3,1) var(--enter-delay,0s) both}.scroll-progress{animation:scroll-progress linear both;background:hsl(var(--primary));height:2px;inset:0 0 auto;pointer-events:none;position:fixed;transform-origin:left;z-index:60;animation-timeline:scroll(root)}@supports not (animation-timeline:scroll(root)){.scroll-progress{display:none}}@keyframes scroll-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes enter{0%{opacity:0;transform:translate3d(var(--enter-x,0),var(--enter-y,0),0)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.tilt-card:hover{transform:none}.scroll-progress{display:none}}
