.shiny-text{color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}
.logoloop{--logoloop-gap:32px;--logoloop-logoHeight:28px;--logoloop-fadeColorAuto:#fff;position:relative}.logoloop--vertical{height:100%;display:inline-block}.logoloop--scale-hover{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}@media (prefers-color-scheme:dark){.logoloop{--logoloop-fadeColorAuto:#0b0b0b}}.logoloop__track{will-change:transform;-webkit-user-select:none;user-select:none;z-index:0;width:max-content;display:flex;position:relative}.logoloop--vertical .logoloop__track{flex-direction:column;width:100%;height:max-content}.logoloop__list{align-items:center;display:flex}.logoloop--vertical .logoloop__list{flex-direction:column}.logoloop__item{margin-right:var(--logoloop-gap);flex:none;font-size:1.6rem;line-height:1}.logoloop--vertical .logoloop__item{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__item:last-child{margin-right:var(--logoloop-gap)}.logoloop--vertical .logoloop__item:last-child{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__node{align-items:center;display:inline-flex}.logoloop__item img{height:var(--logoloop-logoHeight);object-fit:contain;width:auto;max-width:200px;image-rendering:-webkit-optimize-contrast;-webkit-user-drag:none;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1);display:block}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__item:hover img,.logoloop--scale-hover .logoloop__item:hover .logoloop__node{transform-origin:50%;transform:scale(1.2)}.logoloop--scale-hover .logoloop__node{transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop__link{border-radius:4px;align-items:center;text-decoration:none;transition:opacity .2s;display:inline-flex}.logoloop__link:hover{opacity:.8}.logoloop__link:focus-visible{outline-offset:2px;outline:2px solid}.logoloop--fade:before,.logoloop--fade:after{content:"";pointer-events:none;z-index:10;width:clamp(24px,8%,120px);position:absolute;top:0;bottom:0}.logoloop--fade:before{background:linear-gradient(to right, var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0%, transparent 100%);left:0}.logoloop--fade:after{background:linear-gradient(to left, var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0%, transparent 100%);right:0}.logoloop--vertical.logoloop--fade:before,.logoloop--vertical.logoloop--fade:after{width:100%;height:clamp(24px,8%,120px);left:0;right:0}.logoloop--vertical.logoloop--fade:before{background:linear-gradient(to bottom, var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0%, #0000 100%);top:0;bottom:auto}.logoloop--vertical.logoloop--fade:after{background:linear-gradient(to top, var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0%, #0000 100%);top:auto;bottom:0}.skill-item{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.skill-tooltip{color:#fff;letter-spacing:.05rem;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(135deg,#011aff,#420177);border:1px solid #ffffff1a;border-radius:12px;padding:6px 14px;font-family:Poppins,sans-serif;font-size:1.3rem;font-weight:700;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:-35px;left:50%;transform:translate(-50%)scale(.8);box-shadow:0 8px 20px #011aff40}.skill-item:hover .skill-tooltip{opacity:1;visibility:visible;bottom:-30px;transform:translate(-50%)scale(1)}@media (prefers-reduced-motion:reduce){.logoloop__track{transform:translate(0,0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}
:root{--ring-color-primary:#00d4ff;--ring-color-secondary:#000}.dark,[data-theme=dark]{--ring-color-secondary:#fff}.loader-wrapper{background:var(--bg-primary);z-index:10000;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s;display:flex;position:fixed;top:0;left:0}.loader-container-minimal{justify-content:center;align-items:center;width:500px;height:500px;display:flex;position:relative}.loader-simple-l1{aspect-ratio:1;width:280px;-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - 20px), #000 0), conic-gradient(#000 90deg, #0000 0 180deg, #000 0 270deg, #0000 0);-webkit-mask-composite:source-in;background:linear-gradient(90deg,#000 0% 30%,#fff 50%,#000 70% 100%) 0 0/400% 100%;border-radius:50%;animation:3s linear infinite shiny-logo-flow,1.5s cubic-bezier(.65,0,.35,1) infinite l1;position:relative;-webkit-mask-composite:source-in;mask-composite:intersect}@keyframes l1{to{transform:rotate(1turn)}}.loader-logo-wrapper{z-index:10;justify-content:center;align-items:center;width:140px;height:140px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader-logo-shiny{filter:drop-shadow(0 0 10px #00d4ff80);background:linear-gradient(90deg,#000 0% 25%,#00d4ff 35%,#00ff87 45%,#fff 50%,#00ff87 55%,#00d4ff 65%,#000 75% 100%) 0 0/400% 100%;width:130px;height:130px;animation:4s linear infinite shiny-logo-flow,2s ease-in-out infinite logo-pulse;-webkit-mask-image:url(/assets/images/logo_okto.png);mask-image:url(/assets/images/logo_okto.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes shiny-logo-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes logo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.loader-wrapper.fade-out{opacity:0;pointer-events:none}
