.apps-flow{--flow-icon-size:64px;--flow-gap:32px;--flow-travel:240px;--flow-sway:3deg;--flow-momentum:.25;--flow-curve:.85;--flow-depth:.14;--flow-yaw:8deg;--flow-row-bend:36px;--flow-icon-half:32px;--flow-row-gap:20px;--flow-eye-offset:calc(var(--flow-icon-half) + var(--flow-row-gap) + 28px);--flow-edge:32px;--flow-bg:#f7f7f7;margin-bottom:96px;position:relative}.apps-flow-rows{gap:var(--flow-row-gap);margin-top:16px;display:grid;position:relative}.apps-flow-rows:before,.apps-flow-rows:after{content:"";width:var(--flow-edge);z-index:1;pointer-events:none;position:absolute;top:0;bottom:0}.apps-flow-rows:before{background:linear-gradient(to right, var(--flow-bg), transparent);left:0}.apps-flow-rows:after{background:linear-gradient(to left, var(--flow-bg), transparent);right:0}.apps-flow-viewport{perspective:900px;perspective-origin:50%;justify-content:center;display:flex;overflow:hidden}.apps-flow-track{gap:var(--flow-gap);width:max-content;padding:12px var(--flow-edge);transform-style:preserve-3d;margin:0;list-style:none;display:flex}.apps-flow-viewport[data-row="1"] .apps-flow-track{padding-top:calc(12px + var(--flow-row-bend) + var(--flow-row-bend))}.apps-flow-viewport[data-row="1"]{perspective-origin:50% calc(100% + var(--flow-eye-offset))}.apps-flow-viewport[data-row="3"] .apps-flow-track{padding-bottom:calc(12px + var(--flow-row-bend) + var(--flow-row-bend))}.apps-flow-viewport[data-row="3"]{perspective-origin:50% calc(0px - var(--flow-eye-offset))}.apps-flow-app{flex:0 0 max(88px, var(--flow-icon-size));transform-style:preserve-3d;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.apps-flow-icon-shell{width:var(--flow-icon-size);height:var(--flow-icon-size);transform-origin:50%;transform-style:preserve-3d;display:block}.apps-flow-icon{object-fit:contain;transform-origin:50% 100%;border-radius:22%;width:100%;height:100%}.apps-flow-name{color:var(--color-neutral-600);white-space:nowrap;font-size:13px;line-height:20px}.apps-flow-footer{margin-top:-24px}@media (min-width:600px){.apps-flow{--flow-edge:64px;--flow-row-gap:24px}.apps-flow-rows{gap:24px;margin-top:48px}.apps-flow-app{flex-basis:max(clamp(88px, 8vw, 144px), var(--flow-icon-size))}}@media (pointer:coarse){.apps-flow{--flow-sway:0deg;--flow-yaw:0deg}.apps-flow-app,.apps-flow-icon-shell{transform-style:flat}}@media (prefers-color-scheme:dark){.apps-flow{--flow-bg:var(--color-neutral-950)}.apps-flow-name{color:var(--color-neutral-300)}}@media (prefers-reduced-motion:reduce){.apps-flow-app,.apps-flow-icon-shell,.apps-flow-icon,.apps-flow-name{transform:none!important}}@keyframes apps-flow-drift{0%{transform:translate3d(calc(var(--flow-travel) / 2 * var(--flow-direction) + var(--flow-stagger,0px)), 0, 0)}to{transform:translate3d(calc(var(--flow-travel) / -2 * var(--flow-direction) + var(--flow-stagger,0px)), 0, 0)}}@media (prefers-reduced-motion:no-preference){.apps-flow-track{--flow-direction:1;padding-inline:calc(var(--flow-edge) + var(--flow-travel) / 2);will-change:transform}.apps-flow-track[data-direction=right]{--flow-direction:-1}.apps-flow[data-native-timeline]{view-timeline:--apps-flow block}.apps-flow[data-native-timeline] .apps-flow-track{animation:linear both apps-flow-drift;animation-timeline:--apps-flow}}
.languages-sphere{--sphere-box:min(100%, 440px);width:var(--sphere-box);aspect-ratio:1;transform-style:preserve-3d;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;margin-inline:auto;position:relative}@media (min-width:640px) and (hover:hover) and (pointer:fine){.languages-sphere{cursor:grab}.languages-sphere[data-dragging]{cursor:grabbing}}.languages-sphere-chip{color:var(--color-neutral-700);white-space:nowrap;will-change:transform, opacity;cursor:default;background:#fff;border:1px solid #1c1a1714;border-radius:999px;align-items:center;gap:0;padding:6px;font-size:13px;line-height:1;display:inline-flex;position:absolute;top:50%;left:50%}.languages-sphere-flag{font-size:28px;line-height:1}.languages-sphere-name{display:none}@media (min-width:640px){.languages-sphere{--sphere-box:640px}.languages-sphere-chip{gap:7px;padding:5px 11px 5px 7px}.languages-sphere-flag{font-size:19px}.languages-sphere-name{display:inline}}@media (prefers-color-scheme:dark){.languages-sphere-chip{background:var(--color-neutral-800);color:var(--color-neutral-200);border-color:#ffffff1a}}@media (min-width:1024px){.languages-sphere{--sphere-box:760px}}