.portfolio-menu{--orb-primary:#31c8ff;--orb-secondary:#1b63ff;--orb-soft:#a8edff;color:#d5d8df;isolation:isolate;background:#000;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.portfolio-menu-glow{z-index:-1;background:#000;transition:background .6s;position:absolute;inset:0}.portfolio-menu-layout{grid-template-columns:minmax(16rem,26rem) minmax(18rem,1fr);align-items:center;gap:clamp(1rem,5vw,5rem);width:min(70rem,100% - 3rem);display:grid;transform:translateY(-2vh)}.orbital-system{aspect-ratio:1;justify-self:end;width:min(34vw,25rem);min-width:17rem;position:relative}.orbital-path{width:var(--orbit-size);aspect-ratio:1;animation:portfolio-orbit var(--orbit-duration) linear infinite;animation-delay:var(--orbit-delay);animation-direction:var(--orbit-direction);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbital-light{aspect-ratio:1;width:clamp(.6rem,1.1vw,.9rem);box-shadow:0 0 .45rem .2rem white, 0 0 1.1rem .55rem var(--orb-soft), 0 0 2.4rem .8rem var(--orb-primary);transform:translateY(-50%) scale(var(--light-scale));background:#fff;border-radius:50%;position:absolute;top:50%;right:-.35rem}.portfolio-options{min-width:0}.portfolio-options-title{color:color-mix(in srgb, var(--orb-primary) 68%, #c9cbd1);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.2rem;font-size:clamp(.7rem,1.3vw,.9rem)}.portfolio-options ul{gap:clamp(.25rem,1vh,.75rem);padding:0;list-style:none;display:grid}.portfolio-options button{color:#c7c9cfa3;width:100%;min-height:3.5rem;font-family:var(--font-body);letter-spacing:.035em;text-align:left;cursor:pointer;text-shadow:0 0 .35rem #000;background:0 0;border:0;padding:.25rem 0;font-size:clamp(1.65rem,2.4vw,2.6rem);font-weight:400;line-height:1.1;transition:color .22s,text-shadow .22s,transform .22s;position:relative}.portfolio-options button:before{background:linear-gradient(90deg, transparent, var(--orb-primary));content:"";opacity:0;width:2.5rem;height:1px;transition:opacity .22s;position:absolute;top:50%;right:calc(100% + 1rem);transform:translateY(-50%)}.portfolio-menu[data-menu-view=main] .portfolio-options button:hover,.portfolio-menu[data-menu-view=main] .portfolio-options button:focus-visible,.portfolio-menu[data-menu-view=main] .portfolio-options button.is-selected{color:var(--orb-primary);text-shadow:0 0 .5rem color-mix(in srgb, var(--orb-primary) 62%, transparent), 0 0 1.6rem color-mix(in srgb, var(--orb-primary) 30%, transparent);outline:none;transform:translate(.35rem)}.portfolio-options button.is-selected:before{opacity:1}.portfolio-menu-controls{color:#d7d7dc;font-family:var(--font-body);letter-spacing:.03em;align-items:center;gap:clamp(1rem,4vw,3rem);font-size:clamp(.85rem,1.5vw,1.15rem);display:flex;position:absolute;bottom:clamp(1.3rem,4vh,3rem);left:clamp(1.5rem,5vw,5rem);right:clamp(1.5rem,5vw,5rem)}.portfolio-menu-controls button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.portfolio-menu-controls i{aspect-ratio:1;background:radial-gradient(circle,#30333d,#111218 72%);border-radius:50%;place-items:center;width:1.45rem;margin-right:.45rem;font-style:normal;line-height:1;display:inline-grid;box-shadow:0 0 .35rem #000}.portfolio-menu-controls .control-cross{color:#727dff}.portfolio-menu-controls .control-circle{color:#ff6277}.portfolio-menu-controls .hero-control{margin-left:auto}.portfolio-menu-controls .hero-control i{color:#34e39c}.portfolio-menu-return{z-index:100;color:#e6e3ed;letter-spacing:.03em;text-shadow:0 2px 2px #000000e6;background:0 0;padding:.25rem 0;font-size:clamp(.82rem,1.4vw,1rem);position:fixed;bottom:clamp(1.25rem,4vh,2.75rem);left:clamp(1.25rem,5vw,4.5rem)}.portfolio-menu-return-bar{z-index:99;pointer-events:none;background:linear-gradient(#0000 0%,#05030db8 42%,#05030df5 100%);height:clamp(4.75rem,11vh,6.25rem);position:fixed;bottom:0;left:0;right:0}.portfolio-menu-return:hover,.portfolio-menu-return:focus-visible{color:#fff;text-shadow:0 2px 2px #000000e6,0 0 .8rem #ff627780}.portfolio-menu[data-menu-view=system],.portfolio-menu[data-menu-view=language],.portfolio-menu[data-menu-view=viewer]{background:#160f2a}.portfolio-menu[data-menu-view=system] .portfolio-menu-glow,.portfolio-menu[data-menu-view=language] .portfolio-menu-glow,.portfolio-menu[data-menu-view=viewer] .portfolio-menu-glow{background:radial-gradient(circle at 46% 46%,#283d9147,#0000 30rem),radial-gradient(circle at 78% 40%,#7e5bb03d,#0000 34rem),linear-gradient(112deg,#110c20 0%,#22183c 54%,#49386b 100%)}.system-scene{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.system-scene:before,.system-scene:after{z-index:1;content:"";pointer-events:none;position:absolute;inset:0}.system-scene:before{background:radial-gradient(circle at 45% 48%,#0000 0 18%,#09061438 55%,#05030d94 100%),linear-gradient(90deg,#0905120f,#47346c29)}.system-scene:after{mix-blend-mode:soft-light;opacity:.7;background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 4px)}.system-scene-canvas{width:100%;height:100%}.system-scene-fallback{display:none;position:absolute;inset:0}.system-scene[data-scene-ready=fallback] .system-scene-canvas{display:none}.system-scene[data-scene-ready=fallback] .system-scene-fallback{display:block}.fallback-radial{aspect-ratio:1;width:min(48vw,36rem);animation:18s linear infinite fallback-spin;position:absolute;top:50%;left:46%;transform:translate(-50%,-50%)}.fallback-radial span{opacity:.76;width:.64rem;height:36%;transform:rotate(calc(var(--ray-index) * 30deg)) translateY(-2.2rem);transform-origin:50% calc(100% + 2.2rem);background:linear-gradient(#227ed333,#0c2a5f9e);border:1px solid #66ccff85;position:absolute;bottom:50%;left:calc(50% - .32rem);box-shadow:0 0 1rem #2da0ff3d}.fallback-radial i{aspect-ratio:1;background:radial-gradient(circle,#45dfff59,#0a1f4e38);border:1px solid #388eff;border-radius:50%;width:19%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 1.6rem #45dfff85,inset 0 0 1.2rem #388eff66}.fallback-cubes span{aspect-ratio:1.35;opacity:.56;background:linear-gradient(135deg,#ac9ed357,#0000 34%),#14142f6b;border:1px solid #b2a3dda3;width:clamp(4.4rem,8vw,7rem);transition:border-color .24s,box-shadow .24s,opacity .24s;position:absolute;transform:perspective(24rem)rotateX(22deg)rotateY(-28deg);box-shadow:inset 0 0 1.4rem #715ba647,0 0 1rem #1859aa2e}.fallback-cubes span:first-child{top:18%;left:21%}.fallback-cubes span:nth-child(2){top:38%;left:12%}.fallback-cubes span:nth-child(3){top:58%;left:20%}.fallback-cubes span:nth-child(4){top:70%;left:34%}.fallback-cubes span.is-selected{opacity:1;border-color:#bdf7ff;box-shadow:inset 0 0 1.7rem #33cfff66,0 0 1.5rem #33cfff8f}.system-scene[data-viewer-mode=true] .fallback-cubes{opacity:0}.system-clock{z-index:3;color:#e8e6ef;font-family:var(--font-display);letter-spacing:.06em;text-shadow:-2px -2px #000000e0,2px -2px #000000e0,-2px 2px #000000e0,2px 2px #000000e0,0 0 .8rem #000c;pointer-events:none;justify-content:space-between;font-size:clamp(1.1rem,2.4vw,2.15rem);font-weight:600;line-height:1;display:flex;position:absolute;top:clamp(1.5rem,5vh,3.5rem);left:clamp(1.5rem,4vw,4rem);right:clamp(1.5rem,4vw,4rem)}.system-menu-layout{z-index:2;grid-template-columns:minmax(0,55%) minmax(19rem,45%);align-items:center;width:min(76rem,100% - 4rem);display:grid;position:relative;transform:translateY(-1vh)}.system-options{backdrop-filter:blur(2px);background:linear-gradient(90deg,#0f0a1d2e,#0f0a1d6b);border-radius:1rem;grid-column:2;padding:clamp(1rem,3vw,2rem)}.system-options .portfolio-options-title{color:#d8e400;font-family:var(--font-display);letter-spacing:.025em;text-align:left;text-shadow:0 2px 1px #000,0 0 .5rem #000000eb;text-transform:none;margin:0 0 clamp(1rem,2.5vh,1.75rem);font-size:clamp(1.55rem,3vw,2.65rem);font-weight:500;line-height:1.1}.system-options ul{gap:clamp(.08rem,.7vh,.4rem)}.system-options button{color:#dcdce5a3;text-shadow:0 2px 1px #000,0 0 .45rem #000000e6;min-height:2.9rem;font-size:clamp(1.25rem,2.3vw,2.05rem)}.system-options button:focus-visible,.system-options button.is-selected{color:#28d8ff;text-shadow:0 2px 1px #000,0 0 .8rem #28d8ff9e}.system-options button[data-current-locale=true],.language-current{color:#d8e400}.portfolio-menu-controls .control-square,.viewer-exit .control-square{color:#ed8ad4}.viewer-exit{z-index:4;color:#d7d7dc;font-family:var(--font-body);letter-spacing:.03em;cursor:pointer;background:0 0;border:0;padding:0;font-size:clamp(.85rem,1.5vw,1.15rem);position:absolute;bottom:clamp(1.3rem,4vh,3rem);left:clamp(1.5rem,5vw,5rem)}.viewer-exit i{aspect-ratio:1;background:radial-gradient(circle,#30333d,#111218 72%);border-radius:50%;place-items:center;width:1.45rem;margin-right:.45rem;font-style:normal;line-height:1;display:inline-grid;box-shadow:0 0 .35rem #000}.viewer-exit:hover,.viewer-exit:focus-visible{color:#fff;text-shadow:0 0 .7rem #ed8ad4a8}@keyframes fallback-spin{to{transform:translate(-50%,-50%)rotate(1turn)}}@keyframes portfolio-orbit{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(1turn)}}@media (width<=46rem){.portfolio-menu-layout{grid-template-columns:1fr;gap:0;width:min(100% - 2rem,34rem);transform:translateY(-3vh)}.orbital-system{justify-self:center;width:min(68vw,19rem);min-width:0;margin-bottom:-2rem}.portfolio-options{z-index:2;text-align:center;position:relative}.portfolio-options-title{text-align:center}.portfolio-options button{text-align:center;min-height:3rem}.portfolio-options button:before{display:none}.portfolio-menu-controls{bottom:1rem;left:1rem;right:1rem}.portfolio-menu-controls .hero-control{margin-left:auto}.system-clock{font-size:clamp(.88rem,4.2vw,1.2rem);top:1.25rem;left:1rem;right:1rem}.system-menu-layout{grid-template-columns:1fr;align-items:end;width:100%;min-height:100svh;padding:7rem 1rem 6.4rem;transform:none}.system-options{background:linear-gradient(90deg,#0000,#0f0a1d80,#0000);grid-column:1;justify-self:center;width:min(100%,30rem);padding:1rem}.system-options .portfolio-options-title{text-align:center;margin-bottom:.65rem;font-size:clamp(1.25rem,6vw,1.8rem)}.system-options button{min-height:2.35rem;font-size:clamp(1.05rem,5vw,1.45rem)}.fallback-radial{width:min(82vw,26rem);top:40%;left:50%}.fallback-cubes span{width:clamp(3.6rem,17vw,5.4rem)}.fallback-cubes span:first-child{top:15%;left:10%}.fallback-cubes span:nth-child(2){top:27%;left:68%}.fallback-cubes span:nth-child(3){top:43%;left:7%}.fallback-cubes span:nth-child(4){top:49%;left:72%}.portfolio-menu[data-menu-view=system] .portfolio-menu-controls,.portfolio-menu[data-menu-view=language] .portfolio-menu-controls{flex-wrap:wrap;justify-content:center;gap:.45rem 1rem;font-size:.76rem}.portfolio-menu[data-menu-view=system] .portfolio-menu-controls .hero-control,.portfolio-menu[data-menu-view=language] .portfolio-menu-controls .hero-control{margin-left:0}.viewer-exit{bottom:1.1rem;left:1rem}.portfolio-menu-return{bottom:1.15rem;left:1rem}.portfolio-menu-return-bar{height:5.25rem}}@media (prefers-reduced-motion:reduce){.orbital-path{animation-play-state:running;animation-duration:var(--orbit-duration)!important;animation-iteration-count:infinite!important}.fallback-radial{animation-duration:60s!important;animation-iteration-count:infinite!important}}:root{color-scheme:dark;--color-background:#02060d;--color-background-soft:#030914;--color-surface:#07111f;--color-surface-elevated:#0a1728;--color-surface-glass:#07111fbd;--color-border:#22d3ee2e;--color-border-strong:#22d3ee6b;--color-text:#f1f7ff;--color-text-muted:#9cb0c3;--color-text-subtle:#657a91;--color-primary:#22d3ee;--color-primary-intense:#00e5ff;--color-secondary:#2563eb;--color-control-cross:#5fa9ff;--color-control-circle:#f67;--color-control-triangle:#35f49a;--color-control-square:#d980ff;--color-focus:#f8e16c;--color-error:#ff6b7a;--font-interface:Inter, system-ui, sans-serif;--font-display:var(--font-interface);--font-body:var(--font-interface);--font-mono:var(--font-interface);--container-width:75rem;--container-padding:clamp(1rem, 4vw, 2.5rem);--header-height:clamp(4rem, 8vw, 4.5rem);--radius-small:.25rem;--radius-medium:.5rem;--radius-large:1rem;--space-section:clamp(4.5rem, 12vw, 9rem);--space-content:clamp(1.5rem, 4vw, 3rem);--step-small:clamp(.82rem, .78rem + .22vw, .95rem);--step-base:clamp(1rem, .94rem + .31vw, 1.125rem);--step-title:clamp(2.4rem, 1.1rem + 6vw, 6.5rem);--step-subtitle:clamp(1.05rem, .88rem + .85vw, 1.7rem);--shadow-glow-soft:0 0 1.5rem #22d3ee2e;--shadow-glow-strong:0 0 2.5rem #00e5ff57;--transition-fast:.15s ease;--transition-normal:.3s ease}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html,body,h1,h2,h3,p,ul,figure{margin:0}ul{padding:0;list-style:none}html{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);scroll-behavior:smooth;text-rendering:optimizelegibility;font-size:100%}body{isolation:isolate;background:radial-gradient(circle at 50% 0,#2563eb21,#0000 34rem),linear-gradient(#02060d 0%,#02050a 58%,#010307 100%);min-width:20rem;min-height:100vh;margin:0;line-height:1.6;overflow-x:clip}img,picture,svg,canvas{max-width:100%;display:block}button,input,textarea,select{font:inherit;margin:0}button{border:0}a{color:inherit;text-decoration:none}.ps-control{--ps-control-color:var(--color-primary);min-height:2.1rem;color:var(--ps-control-color);font-family:var(--font-mono);font-size:var(--step-small);cursor:pointer;transition:transform var(--transition-fast), color var(--transition-fast), text-shadow var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;gap:.55rem;padding:.25rem 0;line-height:1;display:inline-flex}.ps-control:hover,.ps-control:focus-visible{text-shadow:0 0 .7rem color-mix(in srgb, var(--ps-control-color) 58%, transparent);transform:translateY(-.125rem)}.ps-control-cross{--ps-control-color:var(--color-control-cross)}.ps-control-circle{--ps-control-color:var(--color-control-circle)}.ps-control-triangle{--ps-control-color:var(--color-control-triangle)}.ps-control-square{--ps-control-color:var(--color-control-square)}.ps-symbol{aspect-ratio:1;width:1.45rem;box-shadow:0 0 .55rem color-mix(in srgb, currentColor 48%, transparent), inset 0 0 .55rem color-mix(in srgb, currentColor 18%, transparent);font-family:var(--font-display);border:1px solid;border-radius:999px;place-items:center;font-size:.78rem;font-weight:700;line-height:1;display:inline-grid}:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.25rem}.skip-link{z-index:9999;border-radius:var(--radius-small);color:var(--color-background);background:var(--color-focus);transition:transform var(--transition-fast);padding:.75rem 1rem;font-weight:700;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.container{width:min(calc(100% - (var(--container-padding) * 2)), var(--container-width));margin-inline:auto}main,footer{z-index:1;position:relative}.section-shell{min-height:42vh;padding-block:var(--space-section);content-visibility:auto;contain-intrinsic-size:auto 44rem;position:relative}.dialog-close-button{border:1px solid var(--color-control-circle);width:2.5rem;min-height:2.5rem;color:var(--color-control-circle);box-shadow:0 0 .55rem color-mix(in srgb, var(--color-control-circle) 36%, transparent), inset 0 0 .55rem color-mix(in srgb, var(--color-control-circle) 14%, transparent);background:#02060db8;border-radius:50%;flex:0 0 2.5rem;place-items:center;padding:0;display:inline-grid}.dialog-close-button svg{width:1.125rem;height:1.125rem;margin:auto;display:block}.section-shell h2{color:var(--color-primary);font-family:var(--font-display);letter-spacing:.08em;text-align:center;text-shadow:0 0 1rem #00e5ff47;font-size:clamp(1.25rem,1rem + 1.4vw,2rem);font-weight:600}.section-placeholder{border:1px solid var(--color-border);border-radius:var(--radius-medium);max-width:44rem;color:var(--color-text-muted);box-shadow:var(--shadow-glow-soft);text-align:center;background:linear-gradient(#07111f94,#02060db8);margin:2rem auto 0;padding:clamp(1.25rem,3vw,2rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ps-control:hover,.ps-control:focus-visible{transform:none}}.about[data-astro-cid-2rm45m4t]{max-width:68rem}.about-panel[data-astro-cid-2rm45m4t]{grid-template-columns:minmax(11rem,.62fr) minmax(0,1.65fr);gap:clamp(2rem,7vw,6rem);width:100%;max-width:58rem;margin-inline:auto;display:grid}.about-heading[data-astro-cid-2rm45m4t]{align-self:start;padding-left:1.4rem;position:relative}.about-heading[data-astro-cid-2rm45m4t]:before{content:"";background:linear-gradient(#37d8ff,#37d8ff14);width:1px;position:absolute;inset:0 auto 0 0;box-shadow:0 0 .9rem #37d8ff59}h1[data-astro-cid-2rm45m4t]{color:var(--color-text);font-family:var(--font-display);letter-spacing:.02em;text-shadow:0 2px 2px #000000e6,0 0 1rem #37d8ff33;margin:0;font-size:clamp(2rem,1.3rem + 2.8vw,3.7rem);font-weight:500;line-height:1.05}.about-copy[data-astro-cid-2rm45m4t]{color:var(--color-text-muted);gap:1.2rem;line-height:1.75;display:grid}.about-copy[data-astro-cid-2rm45m4t] p[data-astro-cid-2rm45m4t]{margin:0;position:relative}.about-copy[data-astro-cid-2rm45m4t] p[data-astro-cid-2rm45m4t]+p[data-astro-cid-2rm45m4t]{border-top:1px solid #bed2ff1a;padding-top:1.2rem}@media (width<=44rem){.about-panel[data-astro-cid-2rm45m4t]{grid-template-columns:1fr;gap:1.75rem}.about-heading[data-astro-cid-2rm45m4t]{padding-left:1rem}.about-copy[data-astro-cid-2rm45m4t]{line-height:1.65}}.contact[data-astro-cid-lreia7wk]{max-width:68rem}.contact-panel[data-astro-cid-lreia7wk]{gap:clamp(2rem,5vw,3.5rem);width:100%;max-width:46rem;margin-inline:auto;display:grid}.contact-heading[data-astro-cid-lreia7wk]{padding-left:1.4rem;position:relative}.contact-heading[data-astro-cid-lreia7wk]:before{content:"";background:linear-gradient(#37d8ff,#37d8ff14);width:1px;position:absolute;inset:0 auto 0 0;box-shadow:0 0 .9rem #37d8ff59}h1[data-astro-cid-lreia7wk]{color:var(--color-text);font-family:var(--font-display);letter-spacing:.02em;text-shadow:0 2px 2px #000000e6,0 0 1rem #37d8ff33;margin-top:.25rem;font-size:clamp(2rem,1.25rem + 3vw,3.8rem);font-weight:500;line-height:1.05}.contact-heading[data-astro-cid-lreia7wk] p[data-astro-cid-lreia7wk]{color:#d8e400;font-family:var(--font-mono);letter-spacing:.1em;text-shadow:0 2px 2px #000000e6;text-transform:uppercase;font-size:clamp(.72rem,1.1vw,.86rem)}.contact-actions[data-astro-cid-lreia7wk]{max-width:32rem;margin-left:clamp(0rem,8vw,6rem);display:grid}.email-button[data-astro-cid-lreia7wk]{color:#37d8ff;border-bottom:1px solid #bed2ff24;justify-content:flex-start;min-height:3.6rem;font-size:clamp(1rem,1.8vw,1.25rem)}.email-button[data-astro-cid-lreia7wk] img[data-astro-cid-lreia7wk]{object-fit:contain;width:1.5rem;height:1.5rem;transition:filter var(--transition-fast), transform var(--transition-fast)}.email-button[data-astro-cid-lreia7wk]:hover img[data-astro-cid-lreia7wk],.email-button[data-astro-cid-lreia7wk]:focus-visible img[data-astro-cid-lreia7wk]{filter:drop-shadow(0 0 .5rem #ea4335a6);transform:scale(1.08)}.contact-socials[data-astro-cid-lreia7wk]{display:grid}.contact-socials[data-astro-cid-lreia7wk] a[data-astro-cid-lreia7wk]{color:#e5e2eeb8;min-height:3.6rem;font-family:var(--font-body);transition:color var(--transition-fast), padding-left var(--transition-fast), text-shadow var(--transition-fast);border-bottom:1px solid #bed2ff24;align-items:center;gap:.75rem;font-size:clamp(1rem,1.8vw,1.2rem);display:flex}.contact-socials[data-astro-cid-lreia7wk] img[data-astro-cid-lreia7wk]{object-fit:contain;width:1.5rem;height:1.5rem;transition:filter var(--transition-fast), transform var(--transition-fast)}.contact-socials[data-astro-cid-lreia7wk] .github-icon[data-astro-cid-lreia7wk]{filter:invert()}.contact-socials[data-astro-cid-lreia7wk] a[data-astro-cid-lreia7wk]:hover,.contact-socials[data-astro-cid-lreia7wk] a[data-astro-cid-lreia7wk]:focus-visible{color:#37d8ff;text-shadow:0 0 .7rem #37d8ff73;padding-left:.4rem}.contact-socials[data-astro-cid-lreia7wk] a[data-astro-cid-lreia7wk]:hover img[data-astro-cid-lreia7wk],.contact-socials[data-astro-cid-lreia7wk] a[data-astro-cid-lreia7wk]:focus-visible img[data-astro-cid-lreia7wk]{filter:drop-shadow(0 0 .45rem #22d3ee8c);transform:scale(1.08)}.contact-socials[data-astro-cid-lreia7wk] a[data-astro-cid-lreia7wk]:hover .github-icon[data-astro-cid-lreia7wk],.contact-socials[data-astro-cid-lreia7wk] a[data-astro-cid-lreia7wk]:focus-visible .github-icon[data-astro-cid-lreia7wk]{filter:invert()drop-shadow(0 0 .45rem #22d3ee8c)}@media (width<=42rem){.contact-heading[data-astro-cid-lreia7wk]{padding-left:1rem}.contact-actions[data-astro-cid-lreia7wk]{margin-left:0}}.experience[data-astro-cid-54z6estt]{gap:clamp(1.75rem,4vw,3rem);max-width:68rem;display:grid}.section-heading[data-astro-cid-54z6estt]{gap:.2rem;width:100%;max-width:58rem;margin-inline:auto;display:grid}.section-heading[data-astro-cid-54z6estt] p[data-astro-cid-54z6estt]{color:#d8e400;font-family:var(--font-mono);letter-spacing:.1em;text-shadow:0 2px 2px #000000e6;text-transform:uppercase;font-size:clamp(.72rem,1.1vw,.86rem)}.section-heading[data-astro-cid-54z6estt] h1[data-astro-cid-54z6estt]{color:var(--color-text);font-family:var(--font-display);letter-spacing:.02em;text-shadow:0 2px 2px #000000e6,0 0 1rem #37d8ff33;font-size:clamp(1.9rem,1.35rem + 2.4vw,3.5rem);font-weight:500;line-height:1.05}.timeline[data-astro-cid-54z6estt]{width:100%;max-width:58rem;margin:0 auto;padding:0;list-style:none;display:grid;position:relative}.timeline[data-astro-cid-54z6estt]:before{inset-block:1.4rem;content:"";background:linear-gradient(#0000,#37d8ff85,#0000);width:1px;position:absolute;left:.3rem}.timeline[data-astro-cid-54z6estt]>li[data-astro-cid-54z6estt]{padding-left:clamp(2rem,4vw,3rem);position:relative}.timeline[data-astro-cid-54z6estt]>li[data-astro-cid-54z6estt]:before{aspect-ratio:1;content:"";background:#16264d;border:1px solid #bdf7ffb8;border-radius:999px;width:.68rem;position:absolute;top:clamp(1.65rem,3vw,2.2rem);left:0;box-shadow:0 0 .8rem #37d8ff94,inset 0 0 .35rem #37d8ffbd}.experience-card[data-astro-cid-54z6estt]{border-bottom:1px solid #bed2ff1f;grid-template-columns:1.75rem minmax(0,1fr);gap:.85rem;padding-block:clamp(1.25rem,3vw,1.8rem);display:grid}.experience-icon[data-astro-cid-54z6estt]{aspect-ratio:1;color:#37d8ffd6;align-self:start;place-items:center;width:1.75rem;margin-top:.05rem;display:grid}.experience-content[data-astro-cid-54z6estt]{min-width:0}.experience-topline[data-astro-cid-54z6estt]{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.experience-topline[data-astro-cid-54z6estt] h2[data-astro-cid-54z6estt]{color:var(--color-text);text-shadow:0 2px 2px #000000d6;font-size:clamp(1.05rem,.96rem + .5vw,1.35rem);font-weight:500;line-height:1.25}.experience-topline[data-astro-cid-54z6estt] p[data-astro-cid-54z6estt],time[data-astro-cid-54z6estt]{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--step-small);align-items:center;gap:.4rem;display:flex}time[data-astro-cid-54z6estt]{color:#71dcf5;white-space:nowrap}.experience-summary[data-astro-cid-54z6estt]{max-width:49rem;color:var(--color-text-muted);margin-top:.8rem;line-height:1.65}.tag-list[data-astro-cid-54z6estt]{flex-wrap:wrap;gap:.35rem 0;margin-top:.8rem;padding:0;list-style:none;display:flex}.tag-list[data-astro-cid-54z6estt] li[data-astro-cid-54z6estt]{color:#a8efffc7;font-family:var(--font-mono);font-size:.76rem}.tag-list[data-astro-cid-54z6estt] li[data-astro-cid-54z6estt]:not(:last-child):after{color:#a8efff47;content:"/";margin-inline:.55rem}@media (width<=42rem){.experience-topline[data-astro-cid-54z6estt]{gap:.35rem;display:grid}.experience-card[data-astro-cid-54z6estt]{grid-template-columns:1.4rem minmax(0,1fr);gap:.65rem}.experience-icon[data-astro-cid-54z6estt]{width:1.4rem}.experience-icon[data-astro-cid-54z6estt] svg{width:1rem}.timeline[data-astro-cid-54z6estt]>li[data-astro-cid-54z6estt]{padding-left:1.45rem}.timeline[data-astro-cid-54z6estt]>li[data-astro-cid-54z6estt]:before{width:.55rem}.timeline[data-astro-cid-54z6estt]:before{left:.25rem}}.pixel-card{border:1px solid var(--color-border-strong);border-radius:var(--radius-large);isolation:isolate;user-select:none;background:#02060ddb;place-items:center;width:100%;height:100%;transition:border-color .2s cubic-bezier(.5,1,.89,1),box-shadow .26s;display:grid;position:relative;overflow:hidden}.pixel-card:before{z-index:1;background:radial-gradient(circle, color-mix(in srgb, var(--pixel-card-active-color,#082f49) 72%, transparent), transparent 72%);opacity:0;content:"";pointer-events:none;margin:auto;transition:opacity .8s cubic-bezier(.5,1,.89,1);position:absolute;inset:0}.pixel-card:hover,.pixel-card:focus-visible,.pixel-card:focus-within{border-color:#22d3eec7;box-shadow:0 0 1.4rem #00e5ff40,0 1.8rem 4rem #0000007a}.pixel-card:hover:before,.pixel-card:focus-visible:before,.pixel-card:focus-within:before{opacity:.82}.pixel-canvas{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pixel-card-content{z-index:0;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.pixel-canvas{display:none}}.hero-card{perspective:70rem;align-content:center;place-items:center;gap:1rem;min-height:clamp(22rem,44vw,34rem);margin:0;display:grid;position:relative}.hero-card-float{aspect-ratio:2/3;filter:drop-shadow(0 1.5rem 2.4rem #05030d94)drop-shadow(0 0 1.5rem #5fdaff24);will-change:transform;width:min(82%,24rem)}.hero-card-surface{transform:rotateX(var(--hero-card-rotate-x)) rotateY(var(--hero-card-rotate-y));transform-style:preserve-3d;will-change:transform;background:linear-gradient(145deg,#1b1434eb,#070c1fe6);border-color:#82bbff4d;transition:transform .18s ease-out;box-shadow:inset 0 0 2rem #7e5bb01f,0 0 1.5rem #37d8ff1a}.hero-card-media{border-radius:inherit;display:block;position:absolute;inset:0;overflow:hidden}.hero-card-trigger{border-radius:inherit;width:100%;color:inherit;cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.hero-card-trigger:focus-visible{outline:.2rem solid var(--color-focus);outline-offset:-.35rem}.hero-cover-image{object-fit:cover;width:100%;height:100%}.hero-card-media:after{content:"";pointer-events:none;background:linear-gradient(#ffffff1a,#0000 18% 78%,#00000047),linear-gradient(90deg,#22d3ee29,#0000 18% 82%,#22d3ee29);position:absolute;inset:0}.hero-card-glare{z-index:1;background:radial-gradient(circle at var(--hero-card-shine-x) var(--hero-card-shine-y), #fff3, transparent 34%);mix-blend-mode:screen;opacity:.42;pointer-events:none;transition:opacity .18s;position:absolute;inset:0}.black-hole-dialog{color:#f3f1f8;background:0 0;border:1px solid #5fdaff6b;border-radius:.65rem;width:min(100% - 1.5rem,72rem);max-width:none;max-height:calc(100dvh - 1.5rem);padding:0;overflow:hidden;box-shadow:0 2rem 7rem #000000c7,0 0 2.5rem #37d8ff24}.black-hole-dialog[open]{margin:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.black-hole-dialog::backdrop{background:radial-gradient(circle at 24% 46%,#2563eb33,#0000 28rem),#010208e0}.black-hole-panel{background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 4px),radial-gradient(circle at 80% 10%,#7e5bb045,#0000 26rem),linear-gradient(125deg,#080713,#16102b 58%,#10162e);gap:.75rem;max-height:calc(100dvh - 1.5rem);padding:clamp(.75rem,2vw,1.25rem);display:grid;position:relative;overflow:auto}.black-hole-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.black-hole-header p{color:#d8e400;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.black-hole-header h2{color:#a8efff;font-family:var(--font-display);letter-spacing:.04em;text-shadow:0 0 1rem #37d8ff4d;font-size:clamp(1.15rem,1rem + 1vw,1.8rem);font-weight:600;line-height:1.15}.black-hole-stage-shell{aspect-ratio:16/9;background:#050712;border:1px solid #a8efff3d;border-radius:.35rem;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 2rem #000000ad,0 0 1.5rem #37d8ff14}.black-hole-game-host,.black-hole-game-host canvas{width:100%;height:100%}.black-hole-game-host{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0;position:absolute;inset:0}.black-hole-game-host:focus-visible{outline-offset:-.35rem;outline:.18rem solid #d8e400}.black-hole-panel[data-game-state=playing] .black-hole-game-host:focus-visible{outline-color:#d8e40047}.black-hole-hud{z-index:3;color:#dff9ffdb;font-family:var(--font-mono);letter-spacing:.08em;pointer-events:none;text-shadow:0 1px .6rem #000;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:clamp(.64rem,1.5vw,.82rem);display:flex;position:absolute;top:clamp(.55rem,2vw,1rem);left:clamp(.55rem,2vw,1rem);right:clamp(.55rem,2vw,1rem)}.black-hole-hud span{backdrop-filter:blur(.3rem);background:#01030ca8;border:1px solid #a8efff2e;padding:.32rem .55rem}.black-hole-hud strong{color:#d8e400;font-weight:700}.black-hole-message{z-index:4;color:#c5c0d2;text-align:center;pointer-events:none;backdrop-filter:blur(.5rem);background:#050312c2;border:1px solid #5fdaff52;justify-items:center;gap:.5rem;width:min(88%,32rem);padding:clamp(.85rem,3vw,1.4rem);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1rem 3rem #00000073}.black-hole-message strong{color:#a8efff;font-family:var(--font-display);font-size:clamp(1rem,1rem + 1vw,1.55rem);line-height:1.2}.black-hole-message p,.black-hole-controls{font-family:var(--font-mono);font-size:clamp(.65rem,1.6vw,.82rem)}.black-hole-message-gameover{border-color:#f472b66b}.black-hole-message-gameover strong{color:#f9a8d4}.black-hole-retry{pointer-events:auto;margin-top:.35rem}.black-hole-controls{color:#8f88a5;text-align:center}@media (width<=54rem){.hero-card{min-height:clamp(19rem,75vw,28rem)}}@media (width<=36rem){.black-hole-dialog{width:calc(100% - .75rem);max-height:calc(100dvh - .75rem)}.black-hole-panel{max-height:calc(100dvh - .75rem);padding:.65rem}.black-hole-header p,.black-hole-controls{display:none}.black-hole-message{gap:.25rem;padding:.7rem}}@media (prefers-reduced-motion:reduce){.hero-card-surface{transition:none;transform:none}}.hero[data-astro-cid-qfh54jxg]{grid-template-columns:minmax(0,1.02fr) minmax(18rem,.78fr);align-items:center;gap:clamp(2rem,7vw,6rem);min-height:100svh;padding-block:clamp(4rem,8vw,7rem);display:grid}.hero-copy[data-astro-cid-qfh54jxg]{z-index:1;backdrop-filter:blur(2px);background:linear-gradient(90deg,#0f0a1d6b,#0f0a1d1f);border-left:1px solid #5fdaff52;border-radius:0 1rem 1rem 0;padding:clamp(1.25rem,3vw,2.25rem);position:relative;box-shadow:inset 1px 0 #a8efff14,0 1.5rem 4rem #05030d2e}.hero-kicker[data-astro-cid-qfh54jxg]{color:var(--color-primary);font-family:var(--font-mono);text-shadow:0 0 1rem #00e5ff52;font-size:clamp(.9rem,.78rem + .55vw,1.25rem);line-height:1.3}h1[data-astro-cid-qfh54jxg]{max-width:11ch;color:var(--color-text);font-family:var(--font-display);text-shadow:0 0 .75rem #37d8ff61,0 0 2rem #7e5bb06b;margin:0;font-size:clamp(2.4rem,1.4rem + 4vw,4.75rem);font-weight:700;line-height:.98}.hero-title-lockup[data-astro-cid-qfh54jxg]{align-items:center;gap:clamp(.75rem,2vw,1.25rem);min-width:0;margin-block:.5rem 1rem;display:flex}.hero-logo[data-astro-cid-qfh54jxg]{filter:drop-shadow(0 0 1rem #6c5ce752);flex:none;width:clamp(3.25rem,7vw,5.25rem);height:auto}.hero-text[data-astro-cid-qfh54jxg]{max-width:34rem;color:var(--color-text-muted);font-size:clamp(1rem,.93rem + .5vw,1.25rem)}.hero-actions[data-astro-cid-qfh54jxg]{flex-wrap:wrap;gap:clamp(1.5rem,4vw,3.2rem);margin-top:clamp(1.8rem,4vw,3rem);display:flex}.action[data-astro-cid-qfh54jxg]{flex:none}@media (width<=54rem){.hero[data-astro-cid-qfh54jxg]{grid-template-columns:1fr;min-height:auto;padding-block:clamp(3rem,12vw,5rem)}.hero-copy[data-astro-cid-qfh54jxg]{padding:clamp(1rem,5vw,1.5rem)}h1[data-astro-cid-qfh54jxg]{max-width:100%}}@media (width<=30rem){.hero-actions[data-astro-cid-qfh54jxg]{gap:1rem 1.5rem}}.project-preview{aspect-ratio:16/9;border:1px solid var(--color-border-strong);border-radius:var(--radius-small);box-shadow:var(--shadow-glow-soft);background:#05070d;margin:0;overflow:hidden}.project-preview video{object-fit:cover;width:100%;height:100%;display:block}.project-browser{isolation:isolate;width:min(100%,66rem);color:var(--color-text);contain:paint;margin-inline:auto;position:relative}.memory-select{align-content:center;gap:clamp(2rem,6vh,4rem);min-height:min(32rem,62vh);display:grid}.memory-select-copy{text-align:center;justify-items:center;gap:.25rem;display:grid}.save-gallery-header p{color:var(--color-primary);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.memory-select-copy h3,.save-gallery-header h3{color:var(--color-text);font-family:var(--font-display);letter-spacing:.08em;margin:0;font-size:clamp(1.15rem,1rem + 1.1vw,1.8rem);font-weight:500}.memory-select-copy h3:focus,.save-gallery-header h3:focus{outline:0}.memory-select-copy span{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:.76rem}.memory-slots{grid-template-columns:repeat(2,minmax(0,13rem));justify-content:center;gap:clamp(2.25rem,8vw,7rem);display:grid}.memory-slot{color:inherit;cursor:pointer;background:0 0;border:0;justify-items:center;gap:1rem;padding:0;display:grid}.memory-card-art{object-fit:contain;filter:drop-shadow(0 1rem 1.25rem #0000006b);width:clamp(7rem,14vw,9rem);height:auto;transition:transform .26s,filter .26s;display:block;transform:perspective(32rem)rotateX(6deg)}.memory-slot-construction .memory-card-art{filter:saturate(.55)}.memory-slot:hover .memory-card-art,.memory-slot:focus-visible .memory-card-art{filter:drop-shadow(0 0 .7rem #22d3ee4d)drop-shadow(0 1.2rem 1.5rem #0006);transform:perspective(32rem)rotateX(2deg)translateY(-.45rem)scale(1.04)}.memory-slot:focus-visible{outline:0}.memory-slot-copy{gap:.15rem;display:grid}.memory-slot-copy strong{font-family:var(--font-display);letter-spacing:.08em;font-size:.84rem}.memory-slot-copy small,.memory-slot-copy em{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:.7rem;font-style:normal}.memory-slot-copy em{color:var(--color-primary)}.save-gallery{gap:clamp(1.5rem,4vh,2.5rem);display:grid}.save-gallery-header{justify-content:space-between;align-items:end;gap:1rem;display:flex}.save-gallery-header>div{gap:.2rem;display:grid}.save-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);display:grid}.save-item{place-items:center;min-height:clamp(12rem,30vh,18rem);padding:2.75rem 1rem 1rem;display:grid;position:relative}.save-item:after{filter:blur(.65rem);content:"";pointer-events:none;background:#0000006b;border-radius:50%;height:1.2rem;position:absolute;bottom:8%;left:12%;right:12%}.save-weight,.save-identity{z-index:2;font-family:var(--font-mono);text-shadow:0 0 .7rem #000000e6;font-size:clamp(.67rem,1.2vw,.78rem);position:absolute;top:0}.save-weight{color:var(--color-text-muted);left:0}.save-identity{color:var(--color-text-muted);text-align:right;justify-items:end;display:grid;right:0}.save-identity strong{color:var(--color-text);font-family:var(--font-display);letter-spacing:.04em;font-size:clamp(.7rem,1.2vw,.82rem)}.save-identity time{color:var(--color-primary)}.save-icon{z-index:1;aspect-ratio:1;width:min(100%,13rem);color:inherit;cursor:pointer;filter:drop-shadow(0 0 1rem #22d3ee1f);background:0 0;border:0;padding:0;transition:transform .26s,filter .26s;position:relative}.save-icon:hover,.save-icon:focus-visible{filter:drop-shadow(0 0 1.5rem #22d3ee7a);outline:0;transform:translateY(-.4rem)scale(1.06)}.project-logo,.project-logo-canvas,.project-logo-fallback,.project-logo-canvas canvas{width:100%;height:100%}.project-logo{position:relative;overflow:hidden}.project-logo-canvas,.project-logo-fallback{position:absolute;inset:0}.project-logo-canvas canvas{display:block}.project-logo-fallback{object-fit:contain;transition:opacity var(--transition-fast)}.project-logo-fallback.is-hidden{opacity:0}.save-gallery-hint{color:var(--color-text-muted);font-family:var(--font-mono);justify-content:center;align-items:center;gap:.55rem;font-size:.76rem;display:flex}.project-preview-dialog{width:min(100% - 2rem,43rem);max-height:min(42rem,100dvh - 2rem);color:var(--color-text);box-shadow:none;background:0 0;border:0;padding:0;overflow:auto}.project-preview-dialog[open]{margin:0;animation:.28s ease-out both project-dialog-in;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.project-preview-dialog::backdrop{background:radial-gradient(circle at 50% 45%,#0613237a,#010307db);animation:.26s ease-out both project-fade-in}.project-preview-panel{text-shadow:0 0 1rem #000000f2;background:0 0;gap:1.25rem;padding:clamp(1rem,3vw,1.5rem);display:grid}.project-preview-header{grid-template-columns:5.5rem minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.project-preview-media{filter:drop-shadow(0 0 1rem #22d3ee47);width:5.5rem;height:5.5rem}.project-preview-heading{min-width:0}.project-preview-heading p,.project-preview-heading span,.project-preview-details>div>span,.project-preview-status span{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:.75rem}.project-preview-heading h3{color:var(--color-primary);font-family:var(--font-display);margin-block:.15rem .25rem;font-size:clamp(1.3rem,1rem + 1vw,1.8rem);font-weight:600}.project-preview-header .dialog-close-button{box-shadow:none;background:0 0;border:0;align-self:start}.project-preview-section{gap:.5rem;display:grid}.project-preview-section h4{color:var(--color-text-subtle);font-family:var(--font-mono);margin:0;font-size:.75rem;font-weight:400}.project-preview-section .project-preview{box-shadow:none;background:0 0;border:0}.project-preview-details{gap:1rem;display:grid}.project-preview-details>p:not(.project-preview-status){color:var(--color-text-muted);font-size:var(--step-small)}.project-preview-status{align-items:center;gap:.6rem;display:flex}.project-preview-status strong{color:var(--color-primary-intense);font-family:var(--font-mono);font-size:.75rem}.project-preview-details ul{flex-wrap:wrap;gap:.7rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.project-preview-details li{color:var(--color-primary);font-family:var(--font-mono);font-size:.75rem}.project-preview-details li+li:before{color:var(--color-text-subtle);content:"/";margin-right:.7rem}.project-metrics{gap:.75rem;padding-top:.15rem;display:grid}.project-metrics-heading{gap:.2rem;display:grid}.project-metrics-heading h4,.project-metrics-heading p{font-family:var(--font-mono);margin:0}.project-metrics-heading h4{color:var(--color-text-subtle);font-size:.75rem;font-weight:400}.project-metrics-heading p{color:var(--color-text-muted);font-size:.65rem;line-height:1.45}.project-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.project-metric{background:linear-gradient(145deg,#67e8f912,#0613233d);border:1px solid #67e8f933;align-content:space-between;gap:.65rem;min-height:5.25rem;padding:.75rem;display:grid}.project-metric dt{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.64rem;line-height:1.25}.project-metric dd{color:var(--color-primary);font-family:var(--font-mono);align-items:baseline;gap:.15rem;margin:0;display:flex}.project-metric dd strong{font-family:var(--font-display);font-size:clamp(1.25rem,1rem + 1vw,1.65rem);font-weight:500}.project-metric dd span{color:var(--color-text-subtle);font-size:.62rem}.project-preview-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}.project-preview-unavailable{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:.76rem}@keyframes project-dialog-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes project-fade-in{0%{opacity:0}to{opacity:1}}@media (width<=42rem){.memory-select{min-height:29rem}.memory-slots{gap:1.5rem}.save-grid{grid-template-columns:1fr}.save-item{min-height:14rem}}@media (width<=34rem){.memory-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-card-art{width:min(6.5rem,34vw)}.save-gallery-header{align-items:flex-start}.project-preview-dialog{width:calc(100% - 1rem)}.project-preview-header{grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:start;gap:.75rem}.project-preview-media{width:4.5rem;height:4.5rem}.project-preview-actions{justify-content:flex-start}.project-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.project-preview-dialog[open],.project-preview-dialog::backdrop{animation:none}}.section-heading[data-astro-cid-xq7qpmkp]{text-align:center;justify-items:center;gap:.35rem;margin-bottom:clamp(.35rem,1vh,.7rem);display:grid}.projects[data-astro-cid-xq7qpmkp]{--color-text:#f1f7ff;--color-text-muted:#d5e2ef;--color-text-subtle:#bed0e1;--color-primary:#67e8f9;--color-primary-intense:#a5f3fc}.section-heading[data-astro-cid-xq7qpmkp] p[data-astro-cid-xq7qpmkp]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:clamp(.68rem,1.2vw,.82rem)}.section-heading[data-astro-cid-xq7qpmkp] h2[data-astro-cid-xq7qpmkp]{font-size:clamp(1.3rem,1rem + 1.5vw,1.9rem)}.project-browser-slot[data-astro-cid-xq7qpmkp]{width:100%;margin-inline:auto}.skills{grid-template-columns:minmax(12rem,.62fr) minmax(0,1.55fr);align-items:start;gap:clamp(2rem,7vw,6rem);max-width:68rem;display:grid}.skills .section-heading{gap:.2rem;padding-left:1.4rem;display:grid;position:relative}.skills .section-heading:before{content:"";background:linear-gradient(#37d8ff,#37d8ff14);width:1px;position:absolute;inset:0 auto 0 0;box-shadow:0 0 .9rem #37d8ff59}.skills .section-heading p{color:#d8e400;font-family:var(--font-mono);letter-spacing:.1em;text-shadow:0 2px 2px #000000e6;text-transform:uppercase;font-size:clamp(.72rem,1.1vw,.86rem)}.skills .section-heading h1{color:var(--color-text);font-family:var(--font-display);letter-spacing:.02em;text-shadow:0 2px 2px #000000e6,0 0 1rem #37d8ff33;font-size:clamp(2rem,1.3rem + 2.8vw,3.7rem);font-weight:500;line-height:1.05}.skills .skill-grid{width:100%;max-width:46rem;display:grid}.skills .skill-group{width:100%;color:inherit;text-align:left;cursor:pointer;transition:color var(--transition-fast), padding-left var(--transition-fast), text-shadow var(--transition-fast);background:0 0;border:0;border-bottom:1px solid #bed2ff21;gap:.7rem;padding:clamp(.9rem,2vh,1.2rem) 0;display:grid;position:relative}.skills .skill-group:before{content:"";opacity:0;width:.7rem;height:1px;transition:opacity var(--transition-fast);background:#37d8ff;position:absolute;top:1.55rem;left:-1rem;box-shadow:0 0 .55rem #37d8ffb8}.skills .skill-group-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.skills .skill-group-header>span:first-child{gap:.1rem;display:grid}.skills .skill-kicker,.skills .proof-count{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:.7rem;line-height:1.2}.skills .skill-title{color:#e5e2eed1;font-family:var(--font-display);font-size:clamp(1.1rem,1rem + .6vw,1.45rem);font-weight:500}.skills .skill-list{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.skills .skill-row{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:clamp(.78rem,1.25vw,.9rem);display:inline-flex}.skills .skill-icon{color:#37d8ffb3;place-items:center;width:1.15rem;display:grid}.skills .skill-icon svg{width:1rem;height:1rem}.skills .skill-group:hover,.skills .skill-group:focus-visible{outline:none;padding-left:.65rem}.skills .skill-group:hover:before,.skills .skill-group:focus-visible:before{opacity:1}.skills .skill-group:hover .skill-title,.skills .skill-group:focus-visible .skill-title{color:#37d8ff;text-shadow:0 0 .75rem #37d8ff70}.skills .skill-proof-dialog{width:min(100% - 2rem,48rem);max-height:min(44rem,100dvh - 2rem);color:var(--color-text);background:0 0;border:1px solid #5fdaff52;border-radius:.25rem;padding:0;box-shadow:0 1.5rem 5rem #0000009e,0 0 2rem #37d8ff1f}.skills .skill-proof-dialog[open]{margin:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.skills .skill-proof-dialog::backdrop{backdrop-filter:blur(.35rem);background:radial-gradient(circle at 46% 42%,#283d9133,#0000 30rem),#05030dd1}.skills .proof-panel{background:radial-gradient(circle at 78% 18%,#7e5bb047,#0000 24rem),linear-gradient(112deg,#110c20,#2b2048);gap:1.15rem;padding:clamp(1.2rem,4vw,2rem);display:grid;position:relative;overflow:hidden auto}.skills .proof-panel:after{content:"";pointer-events:none;background:repeating-linear-gradient(#ffffff04 0 1px,#0000 1px 4px);position:absolute;inset:0}.skills .proof-panel>*{z-index:1;position:relative}.skills .proof-header{border-bottom:1px solid #bed2ff24;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.skills .proof-header p,.skills .proof-header span,.skills .proof-list small,.skills .proof-list span{font-family:var(--font-mono)}.skills .proof-header p{color:#d8e400;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.skills .proof-header h3{color:#37d8ff;font-family:var(--font-display);text-shadow:0 0 .8rem #37d8ff57;margin-top:.18rem;font-size:clamp(1.4rem,1rem + 1.6vw,2.2rem);font-weight:500}.skills .proof-header span{max-width:36rem;color:var(--color-text-muted);font-size:var(--step-small);margin-top:.45rem;display:block}.skills .proof-header .dialog-close-button{flex:none}.skills .proof-skills{flex-wrap:wrap;gap:.35rem 0;display:flex}.skills .proof-skills span{color:#a8efffc7;font-family:var(--font-mono);font-size:.76rem}.skills .proof-skills span:not(:last-child):after{color:#a8efff47;content:"/";margin-inline:.55rem}.skills .proof-list{margin:0;padding:0;list-style:none;display:grid}.skills .proof-list li{border-top:1px solid #bed2ff1c;gap:.3rem;padding-block:.9rem;display:grid}.skills .proof-list strong{color:var(--color-text);font-weight:500}.skills .proof-list span,.skills .proof-list small{color:#71dcf5;font-size:.75rem}.skills .proof-list p{color:var(--color-text-muted);font-size:var(--step-small)}.skills .proof-actions{flex-wrap:wrap;justify-content:flex-end;gap:1.5rem;padding-top:.25rem;display:flex}@media (width<=48rem){.skills{grid-template-columns:1fr;gap:1.5rem}.skills .section-heading{padding-left:1rem}}@media (width<=34rem){.skills .skill-proof-dialog{width:calc(100% - 1rem)}.skills .proof-panel{padding:1rem}.skills .proof-header{gap:.75rem}.skills .proof-actions{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.skills .skill-group{transition:none}}.portfolio-stage[data-astro-cid-qcdc6wjw],.portfolio-screen[data-astro-cid-qcdc6wjw]{min-height:100svh}.portfolio-screen[data-astro-cid-qcdc6wjw]:not([hidden]){align-items:center;height:100svh;padding-block:clamp(3.75rem,8vh,5rem) clamp(1rem,3vh,2rem);animation:.52s cubic-bezier(.22,1,.36,1) both screen-enter;display:grid;overflow:clip auto}.portfolio-screen[data-astro-cid-qcdc6wjw]:is([data-screen=hero],[data-screen=experiencia],[data-screen=habilidades],[data-screen=sobre],[data-screen=contato]):not([hidden]){--color-text:#f3f1f8;--color-text-muted:#c5c0d2;--color-text-subtle:#8f88a5;--color-primary:#37d8ff;--color-primary-intense:#a8efff;--color-border:#82bbff29;--color-border-strong:#5fdaff66;scrollbar-color:#37d8ff66 transparent;background:radial-gradient(circle at 38% 48%,#1f53a447,#0000 27rem),radial-gradient(circle at 82% 36%,#7e5bb04d,#0000 34rem),linear-gradient(112deg,#110c20e6 0%,#22183cdb 54%,#49386bd1 100%);padding-block:clamp(5rem,9vh,6.5rem) clamp(5.5rem,10vh,7rem);position:relative}.portfolio-screen[data-astro-cid-qcdc6wjw]:is([data-screen=hero],[data-screen=experiencia],[data-screen=habilidades],[data-screen=sobre],[data-screen=contato]):not([hidden]):before{z-index:0;content:"";pointer-events:none;background:repeating-linear-gradient(#ffffff04 0 1px,#0000 1px 4px),radial-gradient(circle,#0000 34%,#05030d7a 100%);position:fixed;inset:0}.portfolio-screen[data-astro-cid-qcdc6wjw]:is([data-screen=hero],[data-screen=experiencia],[data-screen=habilidades],[data-screen=sobre],[data-screen=contato]):not([hidden])>*{z-index:1;position:relative}.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]){scrollbar-color:#e0e4da6b transparent;background-color:#0000;background-image:radial-gradient(circle at 34% 45%,#fff3,#0000 30rem),radial-gradient(circle at 78% 18%,#e5e7cc14,#0000 24rem),linear-gradient(116deg,#9a9c9a 0%,#80827e 38%,#62655f 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:local;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]):before{z-index:0;content:"";pointer-events:none;background:linear-gradient(#02060d80,#02060d94);position:fixed;inset:0}.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden])>*{z-index:1;position:relative}.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]) .section-heading h2,.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]) .memory-select-copy h3,.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]) .save-gallery-header h3{text-shadow:0 1px 2px #000000e0,0 0 1rem #00000061}.portfolio-screen[data-astro-cid-qcdc6wjw] .section-shell{width:min(calc(100% - (var(--container-padding) * 2)), var(--container-width));min-height:auto;padding-block:clamp(1rem,3vh,2rem)}.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]) .section-heading{animation:.56s cubic-bezier(.22,1,.36,1) 80ms both project-heading-enter}.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]) .project-browser-slot{animation:.68s cubic-bezier(.16,1,.3,1) .15s both project-card-enter}@keyframes screen-enter{0%{opacity:0}to{opacity:1}}@keyframes project-heading-enter{0%{opacity:0;transform:translateY(-.8rem)}to{opacity:1;transform:translateY(0)}}@keyframes project-card-enter{0%{opacity:0;transform:translateY(1.5rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=42rem){.portfolio-screen[data-astro-cid-qcdc6wjw]:not([hidden]){align-items:start;padding-block:4.25rem 1rem}.portfolio-screen[data-astro-cid-qcdc6wjw]:is([data-screen=hero],[data-screen=experiencia],[data-screen=habilidades],[data-screen=sobre],[data-screen=contato]):not([hidden]){padding-block:4.75rem 5.5rem}}@media (prefers-reduced-motion:reduce){.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]) .section-heading,.portfolio-screen[data-astro-cid-qcdc6wjw][data-screen=projetos]:not([hidden]) .project-browser-slot{animation-duration:.52s!important;animation-iteration-count:1!important}}
