@keyframes portfolio-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes portfolio-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.portfolio-rise{animation:.8s ease-out both portfolio-rise}.portfolio-rise-delay-1{animation-delay:.12s}.portfolio-rise-delay-2{animation-delay:.24s}.portfolio-rise-delay-3{animation-delay:.36s}.portfolio-drift{animation:7s ease-in-out infinite portfolio-drift}@keyframes portfolio-code-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes portfolio-type{0%,8%{width:0}35%,68%{width:13ch}95%,to{width:0}}@keyframes portfolio-caret{0%,45%{opacity:1}50%,to{opacity:0}}.portfolio-code-stage{place-items:center;width:100%;max-width:40rem;min-height:10rem;margin-inline:auto;display:grid;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}@media (min-width:768px){.portfolio-code-stage{min-height:40rem}}.portfolio-code-stream{pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;gap:.85rem;padding:1rem 0;animation:28s linear infinite portfolio-code-scroll;display:flex;position:absolute;inset:0}.portfolio-code-stream span{color:#c8c8c847;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.75rem,1.4vw,.9rem);line-height:1.4}.portfolio-code-stream span em{color:#00ce7961;font-style:normal}.portfolio-brackets{z-index:1;white-space:nowrap;justify-content:center;align-items:center;gap:.45em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.85rem,5.5vw,3.75rem);font-weight:500;line-height:1.2;display:flex;position:relative}.portfolio-brackets .brackets-fixed{-webkit-text-fill-color:transparent;background-image:linear-gradient(to top right,#00ce79,#00c77f,#00c183,#00ba87,#00b389,#33b686,#4ab884,#5cbb82,#85c77c,#acd179,#d2da7b,#f9e282);-webkit-background-clip:text;background-clip:text}.portfolio-brackets .brackets-word{align-items:center;display:inline-flex}.portfolio-brackets .brackets-typed{white-space:nowrap;-webkit-text-fill-color:transparent;background-image:linear-gradient(to top right,#00ce79,#00c77f,#00c183,#00ba87,#00b389,#33b686,#4ab884,#5cbb82,#85c77c,#acd179,#d2da7b,#f9e282);-webkit-background-clip:text;background-clip:text;width:0;animation:5.5s steps(13,end) infinite portfolio-type;display:inline-block;overflow:hidden}.portfolio-brackets .caret{background:var(--accent);flex-shrink:0;width:.08em;height:.9em;margin-left:.06em;animation:1.1s step-end infinite portfolio-caret;display:inline-block}.portfolio-hero-glow{background:radial-gradient(ellipse 70% 55% at 78% 35%, #00ce791f, transparent 60%), radial-gradient(ellipse 50% 40% at 15% 80%, #00563238, transparent 55%), var(--bg-pattern)}.portfolio-about-panel{background:linear-gradient(120deg,#181818eb 0%,#181818b8 45%,#18181866 100%),url(/portfolio/assets/img/about-section-background-1.jpg) 50%/cover no-repeat}.portfolio-help-panel{color:#fff;background-image:linear-gradient(to top right,#121212 0%,#181818 22%,#003021 48%,#005632 72%,#007a45 100%);border-color:#0000}.portfolio-help-panel h2,.portfolio-help-panel h3{color:#fff}.portfolio-help-panel .portfolio-help-lead,.portfolio-help-panel .portfolio-help-detail{color:#ffffffe0}.portfolio-help-panel .portfolio-help-index{color:#f9e282}.portfolio-help-panel .portfolio-help-item{border-color:#ffffff47}.portfolio-work-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#00ce79 #212121;gap:1rem;padding-bottom:.85rem;display:flex;overflow-x:scroll}.portfolio-work-track::-webkit-scrollbar{height:8px}.portfolio-work-track::-webkit-scrollbar-track{background:#212121;border-radius:999px}.portfolio-work-track::-webkit-scrollbar-thumb{background-image:linear-gradient(90deg,#00ce79,#00c77f,#00c183,#00ba87,#00b389,#33b686,#4ab884,#5cbb82,#85c77c,#acd179,#d2da7b,#f9e282);border-radius:999px}.portfolio-work-slide{scroll-snap-align:start;flex:0 0 80%;min-width:0}@media (min-width:640px){.portfolio-work-track{scroll-snap-type:none;scrollbar-gutter:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;padding-bottom:0;display:grid;overflow:visible}.portfolio-work-slide{scroll-snap-align:unset;flex:none;min-width:auto}}@media (min-width:1280px){.portfolio-work-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
